#P13589. [NWRRC 2023] Intersegment Activation

    ID: 13617 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>2023交互题Special Judge枚举构造ICPCNWRRC

[NWRRC 2023] Intersegment Activation

Description

这是一个交互题。

有一个包含 nn 个格子的数组,编号从 11nn。对于每一对整数 (i,j)(i, j),其中 1ijn1 \le i \le j \le n,都有一个覆盖从 iijj(包括 iijj)的屏障。每个屏障要么是激活的,要么是未激活的。如果没有任何激活的屏障覆盖某个格子,则该格子是可见的;否则,该格子是不可见的。

你并不知道每个屏障的状态。你唯一能观察到的是当前可见格子的数量。但你可以翻转任意一个屏障的状态:如果它是激活的,则变为未激活,反之亦然。你的任务是让所有屏障都变为未激活状态,使得所有格子都可见。

交互协议

首先,读取一个整数 nn,表示格子的数量(1n101 \le n \le 10)。

接下来的交互将分为若干轮进行。你的程序每一轮应先读取一个整数 kk,表示当前可见格子的数量(0kn0 \le k \le n)。

  • 如果 k=nk = n,则任务完成,你的程序应当退出。
  • 如果 k<nk < n,你可以翻转任意一个屏障的状态。在单独一行输出两个整数 iijj,表示翻转 (i,j)(i, j) 这个屏障的状态(1ijn1 \le i \le j \le n)。在你的操作之后,进入下一轮,你需要读取新的 kk 值。

你的解法必须在不超过 25002500 次翻转内使所有格子可见。初始时,并非所有格子都是可见的(第一轮 k<nk < n)。

交互器是非自适应的:每个测试中,所有屏障的状态在程序执行前就已确定。

Input Format

见交互协议。

Output Format

见交互协议。

3
0

0

1

2

3


2 2

2 3

1 2

2 2

Hint

初始状态。

在示例中,最初只有 (1,2)(1, 2)(2,3)(2, 3) 两个屏障是激活的。这两个屏障覆盖了所有三个格子,因此第一轮 k=0k = 0

  • 翻转 (2,2)(2, 2) 屏障后,现在有三个激活的屏障,依然 k=0k = 0 个可见格子。
  • 翻转 (1,2)(1, 2) 屏障后,第 11 个格子变为可见,因此现在 k=1k = 1 个可见格子。
  • 翻转 (2,3)(2, 3) 屏障后,第 33 个格子也变为可见。现在唯一不可见的格子是 22,它被唯一激活的屏障 (2,2)(2, 2) 覆盖,此时 k=2k = 2 个可见格子。
  • 翻转 (2,2)(2, 2) 屏障后,所有屏障都未激活,所有格子都可见。读取到 k=3k = 3 后,程序终止。

由 ChatGPT 4.1 翻译