#P12993. [GCJ 2022 #2] Spiraling Into Control

    ID: 12820 远端评测题 5000~20000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学贪心2022Special Judge构造Google Code Jam

[GCJ 2022 #2] Spiraling Into Control

Description

由于调皮捣蛋,但丁被关进了一间由许多房间组成的奇怪房子。这栋房子是一个 N×N\mathbf{N} \times \mathbf{N} 的网格状房间布局,其中 N\mathbf{N} 为奇数且大于 1。左上角的房间编号为 1,其余房间按顺时针螺旋顺序依次编号为 2,3,,N22, 3, \ldots, \mathbf{N}^{2}。具体来说,编号从网格的顶行开始,每当遇到网格边界或已编号的房间时,向右转 90 度,最终到达网格正中央的房间。因为 N\mathbf{N} 是奇数,房子中心始终有一个房间,其编号恒为 N2\mathbf{N}^{2}

例如,下图展示了 N=3\mathbf{N}=3N=5\mathbf{N}=5 时的房间编号:

但丁从房间 1 出发,试图抵达中心房间(编号 N2\mathbf{N}^{2})。在行进过程中,他只能从当前房间移动到编号更大且相邻的房间(两房间必须共享一条边,而非仅共享一个角落)。

但丁知道他可以按连续数字顺序移动——即若当前位于房间 xx,则下一步移动到 x+1x+1,依此类推。这样恰好需要 N21\mathbf{N}^{2}-1 步。但他想按自己的方式行动!具体来说,他希望恰好用 K\mathbf{K}到达中心房间,其中 K\mathbf{K} 严格小于 N21\mathbf{N}^{2}-1

为此,但丁需要通过一个或多个捷径实现。捷径是指两个非连续编号房间之间的移动。

N=5\mathbf{N}=5 的房屋为例:

  • 若但丁位于 11,他不能移动到 1717,但可移动到 221616。移动到 22 不是捷径(因为 1+1=21+1=2),而移动到 1616 是捷径(因为 1+1161+1 \neq 16)。
  • 22 可移动到 33(非捷径)或 1717(捷径),但不能移动到 1116161818
  • 2424 只能移动到 2525(非捷径)。
  • 无法从房间 2525 移出。

更具体的例子:当 N=5\mathbf{N}=5K=4\mathbf{K}=4 时,一种可行方案是 12171 \rightarrow 2 \rightarrow 17(捷径)1825\rightarrow 18 \rightarrow 25(捷径)。如下图所示(红色箭头代表捷径):

请你帮助但丁找到恰好 K\mathbf{K} 步到达中心房间的路径,或判断其不可能。

Input Format

第一行输入测试用例数量 T\mathbf{T}。随后 T\mathbf{T} 行,每行包含两个整数 N\mathbf{N}K\mathbf{K},分别表示房屋的维度(行列数)和但丁期望的移动步数。

Output Format

对于每个测试用例,输出一行 Case x: y,其中 xx 为用例编号(从 1 开始)。

若无法用恰好 K\mathbf{K} 步到达中心房间,yyIMPOSSIBLE

否则,yy 为但丁使用的捷径数量(因 K<N21\mathbf{K} < \mathbf{N}^{2}-1,至少需一次捷径)。随后输出 yy 行,每行两个整数 aia_ibib_i,表示第 ii 次捷径是从 aia_i 移动到 bib_i(满足 ai+1<bia_i+1 < b_i)。

注意:这些行需按行进顺序排列,即对所有 1i<y1 \leq i < yai<ai+1a_i < a_{i+1}

4
5 4
5 3
5 12
3 1
Case #1: 2
2 17
18 25
Case #2: IMPOSSIBLE
Case #3: 2
11 22
22 25
Case #4: IMPOSSIBLE

Hint

样例解释

样例 #1 对应题目描述中的示例。但丁的路径为 $1 \rightarrow 2 \rightarrow 17 \rightarrow 18 \rightarrow 25$。其中 121 \rightarrow 2171817 \rightarrow 18 是连续移动,故仅输出捷径 (217(2 \rightarrow 171825)18 \rightarrow 25)

样例 #2 无解(注意但丁无法斜向移动)。

样例 #3 中,数字 2222 既是前一次捷径的终点,也是下一次的起点。输出中不能合并为 11 22 2511\ 22\ 25,每行必须代表单独一次捷径。

另一种仅需一次捷径的方案:$1 \rightarrow 2 \rightarrow \ldots \rightarrow 6 \rightarrow 19$(捷径)2025\rightarrow 20 \rightarrow \ldots \rightarrow 25。此方案同样有效,不要求最小化或最大化捷径次数。

样例 #4 中,但丁无法一步到达中心房间(此处为 99)。

数据范围

  • 1T1001 \leq \mathbf{T} \leq 100
  • 1K<N211 \leq \mathbf{K} < \mathbf{N}^{2}-1
  • Nmod21\mathbf{N} \bmod 2 \equiv 1N\mathbf{N} 为奇数)。

测试集 1(3 分,可见判定)

  • 时间限制:5 秒。
  • 3N93 \leq \mathbf{N} \leq 9

测试集 2(4 分,可见判定)

  • 时间限制:20 秒。
  • 3N393 \leq \mathbf{N} \leq 39

测试集 3(13 分,隐藏判定)

  • 时间限制:20 秒。
  • 3N99993 \leq \mathbf{N} \leq 9999

翻译由 DeepSeek V3 完成