2026.9.20

b站上看到的一道题

The 3rd Universal Cup. Stage 11: Sumiyosi E. 志存高远

题意:

初始时,在二维平面上所有满足 \(-100 \le x \le 100\) 且 \(-100 \le y \le 0\) 的整数格点 \((x,y)\) 处都放有一个棋子。

你可以进行任意多次操作。一次操作为:

  • 选择两个曼哈顿距离为 \(1\) 的格点 \((a,b)\) 和 \((c,d)\);
  • 将 \((a,b)\) 处的一个棋子绕 \((c,d)\) 顺时针或逆时针旋转 \(90^\circ\),移动到旋转后的位置 \((e,f)\);
  • 同时从 \((c,d)\) 处移除一个棋子。

目标是:经过若干次操作后,至少存在一个棋子的 \(y\) 坐标大于等于 \(N\)。

给定 \(T\) 组测试数据,每组给出一个整数 \(N\),其中 \(1 \le N \le 6\)。

对于每组测试数据:

  • 如果无法达成目标,输出 \(-1\);
  • 如果可以达成目标,先输出操作次数 \(K\),然后输出 \(K\) 行,每行描述一次操作:

\[ a\ b\ c\ d\ e\ f \]

表示将位于 \((a,b)\) 的棋子绕 \((c,d)\) 旋转 \(90^\circ\) 后移动到 \((e,f)\)。

思路:

证明过程和康威跳棋一致,最多只能跳到 \(y=4\),过程就不说了,主要是要还原方案,考虑反向还原,先在 \(y=t\) 放一枚棋子,然后还原,使得所有棋子的 \(y<=0\),手推一下即可。

posted @ 2026-09-21 15:22  ptlks  阅读(14)  评论(0)    收藏  举报