AT_abc165_e.[ABC165E] Rotation Matching

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你将要举办一个名为“AtCoder じゃんけん”的一对一游戏比赛。比赛共有 NN 名参赛者,每位参赛者被分配了 11 到 NN 之间的不同编号。竞技场中有 MM 个可以容纳两人的对战场地,你需要为每个对战场地分配两个不同的 11 到 NN 之间的整数。不能在多个对战场地分配相同的整数。

比赛由 NN 轮组成,每一轮按如下方式进行:

  • 每位参赛者,如果有分配给自己的编号的对战场地,就前往该场地,并与到场的另一位参赛者对战。
  • 之后,每位参赛者的编号加 11。如果加 11 后编号变为 N+1N+1,则将其编号改为 11。

你希望在 NN 轮比赛中,不存在任何参赛者与同一位参赛者对战两次或以上。请输出一种满足上述条件的对战场地编号分配方案。在给定的约束下,保证一定存在这样的分配方案。

输入格式

输入通过标准输入给出,格式如下:

NN MM

输出格式

请输出 MM 行,每行输出为第 ii 个对战场地分配的两个整数。

a1a_1 b1b_1
a2a_2 b2b_2
⋯\cdots
aMa_M bMb_M

输入输出样例

  • 输入#1

    4 1

    输出#1

    2 3
  • 输入#2

    7 3

    输出#2

    1 6
    2 5
    3 4

说明/提示

约束条件

  • 1≤M1 \leq M
  • M×2+1≤N≤200000M \times 2 + 1 \leq N \leq 200000

样例解释 1

假设有 44 名参赛者,分别为 A,B,C,DA,B,C,D,最初 AA 的编号为 11,BB 的编号为 22,CC 的编号为 33,DD 的编号为 44。

  • 第 11 轮中,编号为 22 的 BB 和编号为 33 的 CC 对战。之后,AA 的编号变为 22,BB 的编号变为 33,CC 的编号变为 44,DD 的编号变为 11。
  • 第 22 轮中,编号为 22 的 AA 和编号为 33 的 BB 对战。之后,AA 的编号变为 33,BB 的编号变为 44,CC 的编号变为 11,DD 的编号变为 22。
  • 第 33 轮中,编号为 22 的 DD 和编号为 33 的 AA 对战。之后,AA 的编号变为 44,BB 的编号变为 11,CC 的编号变为 22,DD 的编号变为 33。
  • 第 44 轮中,编号为 22 的 CC 和编号为 33 的 DD 对战。之后,AA 的编号变为 11,BB 的编号变为 22,CC 的编号变为 33,DD 的编号变为 44。

在 44 轮比赛中,没有任何参赛者与同一位参赛者对战两次,因此该输出是正确的。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页