Description
Erast Kopi 是著名的数独设计者。他的成功引起了一系列的模仿和剽窃。在提起诉讼
之前,他决定找到更多的证据。
数独是一张 9*9 的表,被划分成 3*3 的小表格,每个小表格是 3*3 的格子。每个格子可
能包含 1 到 9 中的一个数字。任务就是往格子里填数字,使每行、每列和每个小表格都包含
1 到 9 中的所有数字。
Kopi 有一个数独的数据库,他想检查一下是否有相似的数独。如果数独 P 可以通过一
系列以下操作转变得到数独 Q,则称 P 相似于 Q.
1. 选两个数字 x 和 y,即把所有 x 换成 y,所有的 y 换成 x。
2. 交换行中三行一组中的两大组:1,2,3 行为一组,4,5,6 列为一组,7,8,9 行为一组
3. 交换两小行。
4. 交换列中三列一组中的两大组:1,2,3 列为一组,4,5,6 列为一组,7,8,9 列为一组
5. 交换两小列。
6. 左上到右下沿斜对称轴的翻转。
(如下图)
因此你需要帮助 Kopi 找到他的数据库中的相似的数独
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 行每行包括一个
命令。命令如下:
1. D x y 交换两个数字 x,y。
2. R a b 交换行中三大组中的(3a-2,3a-1,3a)三行与(3b-2,3b-1,3b)三行。
3. r a b 交换行中的两行 a,b。
4. C a b 交换列中三大组中的(3a-2,3a-1,3a)三列与(3b-2,3b-1,3b)三列。
5. c a b 交换列中的两列 a,b。
6. F 左上到右下沿斜对称轴的翻转。
Sample Input
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....
Sample Output
Yes7 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