P16473 [GKS 2013 #B] Sudoku Checker
题目描述
**数独**是一款流行的单人游戏。目标是在一个 $9 \times 9$ 的矩阵中填入数字,使得每一列、每一行以及所有 $9$ 个互不重叠的 $3 \times 3$ 子矩阵都包含数字 $1$ 到 $9$。游戏开始时,每个 $9 \times 9$ 矩阵都已被部分填充,且通常有唯一解。
:::align{center}
 
:::
给定一个已填满的 $\mathbf{N^2} \times \mathbf{N^2}$ 数独矩阵,你的任务是判断它是否为一个*有效*的解。一个有效的解必须满足以下条件:
- 每一行包含 $1$ 到 $\mathbf{N^2}$ 的每个数字恰好一次。
- 每一列包含 $1$ 到 $\mathbf{N^2}$ 的每个数字恰好一次。
- 将 $\mathbf{N^2} \times \mathbf{N^2}$ 矩阵划分为 $\mathbf{N^2}$ 个互不重叠的 $\mathbf{N} \times \mathbf{N}$ 子矩阵。每个子矩阵包含 $1$ 到 $\mathbf{N^2}$ 的每个数字恰好一次。
你不必担心问题的唯一性,只需检查给定的矩阵是否是一个有效解即可。
输入格式
第一行输入给出测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例以一个整数 $N$ 开始。接下来的 $N^2$ 行描述一个已填满的数独解,每行恰好包含 $N^2$ 个整数。所有输入整数均为正且小于 $1000$。
输出格式
对于每个测试用例,输出一行形如 `Case #x: y` 的内容,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是 `Yes`(仅为清晰起见加了引号)如果它是一个有效解,或 `No`(仅为清晰起见加了引号)如果它是无效的。请注意裁判程序区分大小写,因此 `yes` 和 `no` 的答案将不会被接受。
说明/提示
### 限制
$1 \le T \le 100$。
**测试集 1 - 可见**
$N = 3$。
**测试集 2 - 隐藏**
$3 \le N \le 6$。
翻译由 DeepSeek V4 Pro 完成