CF417C.Football
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
One day, at the "Russian Code Cup" event it was decided to play football as an out of competition event. All participants was divided into n teams and played several matches, two teams could not play against each other more than once.
The appointed Judge was the most experienced member — Pavel. But since he was the wisest of all, he soon got bored of the game and fell asleep. Waking up, he discovered that the tournament is over and the teams want to know the results of all the matches.
Pavel didn't want anyone to discover about him sleeping and not keeping an eye on the results, so he decided to recover the results of all games. To do this, he asked all the teams and learned that the real winner was friendship, that is, each team beat the other teams exactly k times. Help Pavel come up with chronology of the tournir that meets all the conditions, or otherwise report that there is no such table.
有一天,在“俄罗斯编程杯”(Russian Code Cup)活动中,大家决定进行一场非正式的足球比赛。所有参赛者被分为 n 支队伍,并进行了若干场比赛;任意两支队伍之间至多比赛一次。
指定的裁判是经验最丰富的成员——帕维尔(Pavel)。但由于他是所有人中最睿智的一位,很快便对比赛感到厌倦并睡着了。当他醒来时,发现锦标赛已经结束,各支队伍正急切地想了解所有比赛的结果。
帕维尔不愿让人发现自己在比赛中睡着、未能监督比赛结果,于是决定自行还原全部比赛结果。为此,他向所有队伍进行了询问,得知真正的赢家是“友谊”,即:每支队伍恰好战胜了其他队伍中的 k 支。请帮助帕维尔构造出一个满足所有条件的比赛赛程表;若不存在这样的赛程表,则报告无解。
输入格式
The first line contains two integers — n and k (1 ≤ n, k ≤ 1000).
第一行包含两个整数——n 和 k(1 ≤ n, k ≤ 1000)。
输出格式
In the first line print an integer m — number of the played games. The following m lines should contain the information about all the matches, one match per line. The i-th line should contain two integers a__i and b__i (1 ≤ a__i, b__i ≤ n; a__i ≠ b__i). The numbers a__i and b__i mean, that in the i-th match the team with number a__i won against the team with number b__i. You can assume, that the teams are numbered from 1 to n.
If a tournir that meets the conditions of the problem does not exist, then print -1.
第一行输出一个整数 m —— 已进行的比赛场数。接下来的 m 行应包含所有比赛的信息,每行描述一场比赛。第 i 行应包含两个整数 ai 和 bi(1≤ai,bi≤n;ai=bi)。数字 ai 和 bi 表示在第 i 场比赛中,编号为 ai 的队伍战胜了编号为 bi 的队伍。你可以假设队伍编号为 1 到 n。
如果不存在满足题目条件的锦标赛,则输出 −1。
输入输出样例
输入#1
3 1
输出#1
3 1 2 2 3 3 1
输入解题思路,AI测评打分。不知道怎么写?