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\),手推一下即可。

浙公网安备 33010602011771号