#aBC165E. [ABC165E] Rotation Matching
[ABC165E] Rotation Matching
AT_abc165_e [ABC165E] Rotation Matching
题目描述
你将要举办一个名为“AtCoder じゃんけん”的一对一游戏比赛。比赛共有 名参赛者,每位参赛者被分配了 到 之间的不同编号。竞技场中有 个可以容纳两人的对战场地,你需要为每个对战场地分配两个不同的 到 之间的整数。不能在多个对战场地分配相同的整数。
比赛由 轮组成,每一轮按如下方式进行:
- 每位参赛者,如果有分配给自己的编号的对战场地,就前往该场地,并与到场的另一位参赛者对战。
- 之后,每位参赛者的编号加 。如果加 后编号变为 ,则将其编号改为 。
你希望在 轮比赛中,不存在任何参赛者与同一位参赛者对战两次或以上。请输出一种满足上述条件的对战场地编号分配方案。在给定的约束下,保证一定存在这样的分配方案。
输入格式
输入通过标准输入给出,格式如下:
输出格式
请输出 行,每行输出为第 个对战场地分配的两个整数。
输入输出样例 #1
输入 #1
4 1
输出 #1
2 3
输入输出样例 #2
输入 #2
7 3
输出 #2
1 6
2 5
3 4
说明/提示
约束条件
样例解释 1
假设有 名参赛者,分别为 ,最初 的编号为 , 的编号为 , 的编号为 , 的编号为 。
- 第 轮中,编号为 的 和编号为 的 对战。之后, 的编号变为 , 的编号变为 , 的编号变为 , 的编号变为 。
- 第 轮中,编号为 的 和编号为 的 对战。之后, 的编号变为 , 的编号变为 , 的编号变为 , 的编号变为 。
- 第 轮中,编号为 的 和编号为 的 对战。之后, 的编号变为 , 的编号变为 , 的编号变为 , 的编号变为 。
- 第 轮中,编号为 的 和编号为 的 对战。之后, 的编号变为 , 的编号变为 , 的编号变为 , 的编号变为 。
在 轮比赛中,没有任何参赛者与同一位参赛者对战两次,因此该输出是正确的。
由 ChatGPT 4.1 翻译