#P7087. [NWRRC 2013] Intellectual Property
[NWRRC 2013] Intellectual Property
Description
Erast Kopi 是一位著名的数独谜题设计师。他的谜题合集取得了巨大成功,引发了许多模仿和抄袭。在提出诉讼之前,他决定收集更多证据。
数独谜题是一个 的表格,分为 的子表格,每个子表格包含 的单元格。每个单元格可以包含从 到 的一个数字。任务是用数字填充空单元格,使得每一行、每一列以及每个 的子表格都恰好包含从 到 的每个数字一次。
Kopi 有一个数独谜题数据库,他想检查其中是否包含相似的谜题。谜题 与谜题 相似,如果可以通过以下操作序列将谜题 转换为谜题 :
选择两个数字 和 ,并将所有数字 替换为 ,反之亦然;
交换两组行:;
在一组行中交换两行;
交换两组列:;
在一组列中交换两列;
沿左上到右下轴翻转。此操作后,列变为行,反之亦然。
帮助 Kopi 在他的数据库中找到相似的谜题。
Input Format
输入的第一行包含一个整数 ,表示数据库中的谜题数量 。
输入的其余部分包含 个谜题的描述:,……,。每个谜题由九行描述,每行包含九个字符。每个字符要么是从 到 的数字,要么是表示空单元格的点(‘.’)。数据库中连续的谜题之间用空行分隔。
输入文件中没有空格。
这些谜题不保证可解。
Output Format
检查谜题 是否与谜题 ,,……,(按此顺序)相似,然后检查谜题 是否与谜题 ,,……,(按此顺序)相似,依此类推。
如果谜题 与谜题 相似,输出 Yes,否则输出 No。如果答案是肯定的,下一行应包含一个整数 ,表示将谜题 转换为谜题 所需的操作数。操作数不要求是最小的,但不能超过 。在接下来的 行中,写出将谜题 转换为谜题 的操作,每行一个。
操作以以下方式编码:
D $x$ y 表示交换数字 和 ;
R a b 表示交换行组 和 ;
r a b 表示交换行 和 ,行必须属于同一组行;
C a b 表示交换列组 和 ;
c a b 表示交换列 和 ,列必须属于同一组列;
F 表示沿左上到右下轴翻转。
列从左到右编号,行从上到下编号,编号从一开始。
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
Hint
时间限制:2 秒,内存限制:256 MB。
题面翻译由 ChatGPT-4o 提供。
京公网安备 11011102002149号