#872. 合法数独
合法数独
题目描述
给定一个 的网格 ,每个格子中都包含一个 到 (含边界)之间的整数。 具体来说,从上往下数第 行、从左往右数第 列的格子中的整数为 。
如果网格 满足以下所有条件,请输出 Yes;否则输出 No。
- 对于 的每一行,该行的 个格子中恰好包含从 到 的每个整数各一次。
- 对于 的每一列,该列的 个格子中恰好包含从 到 的每个整数各一次。
- 将 的行从上到下分成三组,每组三行;同样地将列从左到右分成三组,每组三列。这样从 中划分出的 个 的子网格中,每个子网格都恰好包含从 到 的每个整数各一次。
输入格式
共包含 行,每行包含 个整数。其中第 行的第 个整数表示 。
输出格式
如果网格 满足题目描述中的所有条件,输出 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
说明
样例解释
-
在第一个样例中,网格 满足题目中的所有三个条件,因此输出
Yes。 -
在第二个样例中,观察左上角的 子网格,可以发现第三个条件没有被满足(缺少一些数字且有重复数字),因此输出
No。
-
在第三个样例中,例如观察最左侧的一列,可以发现第二个条件没有被满足(列中存在重复数字),因此输出
No。
数据范围
- 对于所有测试点,保证 。
- 保证所有的输入值均为整数。