#2738. [Neerc2013 North]intellectual
[Neerc2013 North]intellectual
Description
Erast Kopi 是著名的数独设计者。他的成功引起了一系列的模仿和剽窃。在提起诉讼
之前,他决定找到更多的证据。
数独是一张 99 的表,被划分成 33 的小表格,每个小表格是 3*3 的格子。每个格子可
能包含 1 到 9 中的一个数字。任务就是往格子里填数字,使每行、每列和每个小表格都包含
1 到 9 中的所有数字。
Kopi 有一个数独的数据库,他想检查一下是否有相似的数独。如果数独 P 可以通过一
系列以下操作转变得到数独 Q,则称 P 相似于 Q.
- 选两个数字 x 和 y,即把所有 x 换成 y,所有的 y 换成 x。
- 交换行中三行一组中的两大组:1,2,3 行为一组,4,5,6 列为一组,7,8,9 行为一组
- 交换两小行。
- 交换列中三列一组中的两大组:1,2,3 列为一组,4,5,6 列为一组,7,8,9 列为一组
- 交换两小列。
- 左上到右下沿斜对称轴的翻转。
(如下图)
因此你需要帮助 Kopi 找到他的数据库中的相似的数独
Format
Input
一个正整数 n(N<=20),表示在数据库中的数独个数。
下面包含 n 个数独:P1,P2...Pn,每个数独用一个 9*9 的方阵表示,1~9 表示有数字的
格子,点.表示空格子。两个数独间会有一个空行。在数据库的数独中没有空格。
这些数独不一定能被解出来。
Output
依 次 检 查 两 个 数 独 是 否 相 似 。 ( 先 检 查 P1 与
P2,P3,..,Pn,然后 P2 与 P3,P4...Pn,然后 P3 与 P4,P5...Pn,以此类推)
如果第 Pi 与 Pj 相似,那么输出“Yes”,否则输出“No”。如果相似,之后一行输出
将 Pi 变成 Pj 的步数 Qij,步数不要求最少,但要求不超过 1000。之后 Qij 行每行包括一个
命令。命令如下:
- D x y 交换两个数字 x,y。
- R a b 交换行中三大组中的(3a-2,3a-1,3a)三行与(3b-2,3b-1,3b)三行。
- r a b 交换行中的两行 a,b。
- C a b 交换列中三大组中的(3a-2,3a-1,3a)三列与(3b-2,3b-1,3b)三列。
- c a b 交换列中的两列 a,b。
- F 左上到右下沿斜对称轴的翻转。
Samples
4
.....1...
1........
.2.....8.
.........
8....9...
.........
....7....
...2...1.
2...4....
....2....
...7.4...
8.......9
.8...2..1
..2......
.........
.........
..1.8....
.........
1........
.........
.........
.........
.........
.........
.........
.........
.........
.....1...
1........
.2.....8.
.........
8....9...
.........
....7....
...2...1.
2...4....
Yes
7 C
1 2
D 5 3
F r
7 9
c 6 5
C 2 3
D 1 8
No
Yes
0
No
Yes
8 R
1 2
C 2 3
c 4 5
F r
5 6
c 7 9
D 1 8
D 3 5
No