#872. 合法数独

合法数独

题目描述

给定一个 9×99 \times 9 的网格 AA,每个格子中都包含一个 1199(含边界)之间的整数。 具体来说,从上往下数第 ii 行、从左往右数第 jj 列的格子中的整数为 Ai,jA_{i,j}

如果网格 AA 满足以下所有条件,请输出 Yes;否则输出 No

  • 对于 AA 的每一行,该行的 99 个格子中恰好包含从 1199 的每个整数各一次。
  • 对于 AA 的每一列,该列的 99 个格子中恰好包含从 1199 的每个整数各一次。
  • AA 的行从上到下分成三组,每组三行;同样地将列从左到右分成三组,每组三列。这样从 AA 中划分出的 993×33 \times 3 的子网格中,每个子网格都恰好包含从 1199 的每个整数各一次。

输入格式

共包含 99 行,每行包含 99 个整数。其中第 ii 行的第 jj 个整数表示 Ai,jA_{i,j}

输出格式

如果网格 AA 满足题目描述中的所有条件,输出 Yes;否则输出 No

样例输入 1

1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
2 3 4 5 6 7 8 9 1
5 6 7 8 9 1 2 3 4
8 9 1 2 3 4 5 6 7
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
9 1 2 3 4 5 6 7 8

样例输出 1

Yes

样例输入 2

1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
3 4 5 6 7 8 9 1 2
4 5 6 7 8 9 1 2 3
5 6 7 8 9 1 2 3 4
6 7 8 9 1 2 3 4 5
7 8 9 1 2 3 4 5 6
8 9 1 2 3 4 5 6 7
9 1 2 3 4 5 6 7 8

样例输出 2

No

样例输入 3

1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6

样例输出 3

No

说明

样例解释

  • 在第一个样例中,网格 AA 满足题目中的所有三个条件,因此输出 Yes

  • 在第二个样例中,观察左上角的 3×33 \times 3 子网格,可以发现第三个条件没有被满足(缺少一些数字且有重复数字),因此输出 No

  • 在第三个样例中,例如观察最左侧的一列,可以发现第二个条件没有被满足(列中存在重复数字),因此输出 No

数据范围

  • 对于所有测试点,保证 1Ai,j91 \le A_{i,j} \le 9
  • 保证所有的输入值均为整数。