bzoj#P4495. [Neerc2013 North]intellectual

[Neerc2013 North]intellectual

题目描述

Erast Kopi 是著名的数独设计者。他的成功引起了一系列的模仿和剽窃。在提起诉讼 之前,他决定找到更多的证据。 数独是一张 99 的表,被划分成 33 的小表格,每个小表格是 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 找到他的数据库中的相似的数独

输入格式

一个正整数 n(N<=20),表示在数据库中的数独个数。 下面包含 n 个数独:P1,P2...Pn,每个数独用一个 9*9 的方阵表示,1~9 表示有数字的 格子,点.表示空格子。两个数独间会有一个空行。在数据库的数独中没有空格。 这些数独不一定能被解出来。

输出格式

依 次 检 查 两 个 数 独 是 否 相 似 。 ( 先 检 查 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 左上到右下沿斜对称轴的翻转。
.....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....

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

提示

没有写明提示

题目来源

没有写明来源