#P9890. [ICPC 2018 Qingdao R] Tournament
[ICPC 2018 Qingdao R] Tournament
Description
DreamGrid,Gridland 的国王,正在举办一场骑士锦标赛。有 名骑士,编号从 1 到 ,参加这次锦标赛。锦标赛的规则如下:
- 锦标赛由 轮组成。每一轮由若干场决斗组成。每场决斗恰好在两名骑士之间进行。
- 每名骑士在每一轮中必须参加一场决斗。
- 对于每对骑士,在所有 轮中最多只能有一场决斗。
- 设 ,,且 , 是四个不同的整数。如果
- 骑士 在第 轮对战骑士 ,并且
- 骑士 在第 轮对战骑士 ,并且
- 骑士 在第 轮对战骑士 ,
- 那么骑士 必须在第 轮对战骑士 。
作为 DreamGrid 的将军,你需要编写一个程序来安排所有 轮中的所有决斗,以便结果安排满足上述规则。
Input Format
有多个测试用例。输入的第一行是一个整数 ,表示测试用例的数量。对于每个测试用例:
第一行包含两个整数 和 (),表示参加锦标赛的骑士数量和轮数。
保证所有测试用例中 和 的总和不超过 5000。
Output Format
对于每个测试用例:
- 如果可以进行有效的安排,输出 行。在第 行,输出 个整数 ,用空格分隔,表示在第 轮中,骑士 将与骑士 对战,所有 。如果有多个有效答案,输出字典序最小的答案。考虑两个答案 和 ,记 为答案 中第 行的第 个整数, 为答案 中第 行的第 个整数。答案 在字典序上小于答案 ,如果存在两个整数 () 和 (),使得
- 对于所有 和 ,,并且
- 对于所有 ,,最终 。
- 如果无法进行有效的安排,输出一行 “Impossible”(不带引号)。
请不要在每行末尾输出多余的空格,否则你的答案可能会被视为不正确!
2
3 1
4 3
Impossible
2 1 4 3
3 4 1 2
4 3 2 1
Hint
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号