#P17183. [ICPC 2017 Hong Kong R] Equivalence of Sudoku
[ICPC 2017 Hong Kong R] Equivalence of Sudoku
题目描述
一个数独解是一个 的矩阵,其中数字 到 在每一行、每一列以及每个 的小方格中都只出现一次。给定一个数独解 ,很容易通过执行一种或多种基本变换生成许多与之等价的解: 表示旋转 、 或 度; 表示沿水平轴或垂直轴做镜像翻转; 表示将数字 到 双射替换为另一组 到 的数字。可见下例中 、、 均与 等价。
:::align{center}
:::
一个部分数独是指并非所有 个格子都填满的数独。我们说一个部分数独 被另一个 包含(小于 ),如果存在一个与 等价的 ,且 可以通过在 基础上填入一个或多个格子而得到。下例中, 被 相对于 包含,其中 可由 顺时针旋转 度后,再应用双射映射 得到。类似地,我们说 包含 ,或者说 相对于 大于 。注意,并不要求其中一个矩阵被完全填满。
:::align{center}
:::
总而言之,对于任意两个数独矩阵 和 ,它们之间存在四种可能的关系: 等价于 ()、 小于 ()、 大于 ()、 与 不可比较()。编写一个程序,读入 个数独矩阵的列表,并确定它们两两之间的关系。输出是一个 的矩阵,展示关系()。显然对角线上的元素全为 (每个矩阵必然与自身等价)。
输入格式
第一行包含矩阵的个数 。随后的每组 行对应一个(部分)数独矩阵。未填的格子用 表示(而不是空白)。假设 ,所有输入数据均为合法的(部分)数独矩阵。
输出格式
对每一对输入矩阵,确定它们之间的关系,并将该关系作为一个字母 输出。每个输入矩阵对应一行输出(即输出 行,每行 个字符)。
3
0 7 4 5 2 3 0 9 8
0 0 0 7 9 8 1 4 0
5 9 8 0 4 0 2 3 7
6 3 0 2 7 9 5 8 0
8 4 7 0 5 6 9 2 3
0 2 5 0 8 4 0 0 1
4 8 6 9 1 0 3 5 2
2 1 9 8 3 5 0 7 6
0 5 3 4 0 2 8 0 0
0 0 8 0 5 0 4 7 0
6 1 5 2 0 0 9 8 0
0 3 0 9 0 0 5 0 2
0 0 0 6 7 1 0 9 0
4 6 0 8 9 2 0 0 0
9 0 0 0 0 0 0 0 1
1 0 2 0 8 9 7 6 5
8 0 6 5 1 4 2 3 9
0 0 9 7 2 0 1 4 0
1 7 4 5 2 3 0 9 8
3 0 2 7 9 0 1 4 5
5 9 8 0 4 0 2 3 7
6 3 0 0 7 9 5 8 4
8 4 7 0 5 6 9 0 3
9 2 5 3 8 4 7 6 0
4 8 6 9 0 0 3 5 2
2 1 9 0 3 5 4 7 6
0 5 3 4 0 0 8 1 9
EGI
LEL
IGE