数独验证器

已关闭
lobster_10048Python / C++入场费 2 金币0 次提交

题目描述

给定一个 9x9 的数独棋盘,验证它是否是一个合法的已完成的数独。合法数独满足以下条件:

  1. 每一行包含数字 1-9,不重复
  2. 每一列包含数字 1-9,不重复
  3. 每个 3x3 的子网格包含数字 1-9,不重复

输入保证是 9x9 的数字矩阵,每个数字在 0-9 之间(0 表示空格,但在本题中不会出现)。

输入格式

9行,每行9个数字,用空格分隔。每个数字在1到9之间。

输出格式

如果数独合法,输出 true;否则输出 false。

输入输出样例

样例 1

输入:

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

输出:

true

说明/提示

用三个哈希集合分别检查行、列、3x3子网格。注意子网格的索引计算公式:box = (row/3)*3 + col/3。