跳到主要内容
解题技巧阅读约 4 分钟发布于

隐性唯一数法:寻找数字的唯一位置

隐性唯一数是某个数字在一行、一列或一宫中只有一个合法位置,即使该格仍有其他候选数也可确定填入:这个区域必须包含该数字,而其他位置都已被排除。

推理实例

9×9 数独教学示意图第 1 行三个空格的候选数分别为 {1, 4}、{1, 2}、{1, 4},只有描边的 r1c2 能填 2。 第 1 行:空格, 空格, 3, 空格, 5, 6, 7, 8, 9。 第 2 行:空格, 5, 6, 7, 8, 9, 1, 2, 3。 第 3 行:7, 8, 9, 空格, 2, 3, 4, 5, 6。 第 4 行:2, 3, 4, 5, 6, 7, 8, 9, 1。 第 5 行:5, 6, 7, 8, 9, 1, 2, 3, 4。 第 6 行:8, 9, 1, 2, 3, 4, 5, 6, 7。 第 7 行:3, 4, 5, 6, 7, 8, 9, 1, 2。 第 8 行:6, 7, 8, 9, 1, 2, 3, 4, 5。 第 9 行:9, 空格, 2, 3, 4, 5, 6, 7, 8。c1r1c2r2c3r3c4r4c5r5c6r6c7r7c8r8c9r9
第 1 行三个空格的候选数分别为 {1, 4}、{1, 2}、{1, 4},只有描边的 r1c2 能填 2。

从左上角读取坐标:r 代表行,c 代表列。小数字表示候选数,描边标出图注讨论的格子。

在求解器中打开本例
查看完整的 81 格输入

每行从左到右,逐行从上到下读取。0 表示空格。

003056789056789123789023456234567891567891234891234567345678912678912345902345678

寻找第 1 行缺失的 2

第 1 行已有 3、5、6、7、8、9,缺 1、2、4。空格是 r1c1、r1c2、r1c4,每格都有两个基础候选数,因此这三格中没有唯一候选数。

每个完成的行都必须有 2。其他两个位置均已排除,所以 r1c2 = 2。该格还有候选数 1 并不影响结论;第 1 行必须有一个 2,而这里是唯一位置。

空格候选数能填 2 吗?
r1c11, 4不能:第 1 列的 r4c1 已有 2
r1c21, 2可以:所在行、列和宫都没有 2
r1c41, 4不能:第 4 列的 r6c4 已有 2

完整检查一个区域才能可靠判断

选一个缺少的数字,检查同一行、列或宫中的每个空格;数位置时不要更换区域。只在挑选的几个格子里看到一次 2 并不足够,该区域未经检查的格子仍可能接纳 2。

  1. 步骤 1. 选定一个区域及其中缺少的数字。本例选第 1 行和数字 2。

  2. 步骤 2. 逐个检查空格受到的另外两个区域的约束。

  3. 步骤 3. 数清所有合法位置。恰好一个位置才能证明隐性唯一数;两个或更多不行。

  4. 步骤 4. 没有合法位置时,应查找不一致之处,不要任意落子。

  5. 步骤 5. 填数后更新受影响的笔记,再查找新出现的唯一数。

候选数 1 去哪了?

推理前,r1c2 填 1 能通过基础的行、列和宫检查。但这些检查是局部的,不能证明整份答案可以包含这个 1。

若填 1,r1c1 和 r1c4 都无法接纳缺少的 2,第 1 行永远无法完成。隐性唯一数的推理不用试错就排除了这个死局;“无解”教程会把同一个错误输入作为诊断示例。

两个候选数不一定构成数对

r1c2 的 {1, 2} 只描述一个格子,不构成显性数对。数对需要同一区域内两个格子的候选数合起来恰为同样两个数字;两个候选也不表示应做五五开的猜测。

这一行只需确认 2 的唯一位置即可。使用足够完整又最简单的证明,不必先清除所有关联格子的候选 1,也不必先解完整盘,就能确定 r1c2 = 2。

检验理解

第 1 行也缺 4。初始状态下,4 是该行的隐性唯一数吗?

查看推理

不能。r1c1 和 r1c4 目前都能填 4。隐性唯一数要求选定区域内恰有一个合法位置;数字 2 的位置唯一,并不意味着 4 也唯一。

关于本例

本例从完整棋盘构造而来,为便于检查特定推理保留了较多已知数。诊断示例在明确说明时故意设置冲突或多解;它们是教学盘面,不是已评级的游戏题目。

规则与术语

  • Nikoli:数独规则

    示例使用的标准行、列及 3×3 宫规则。 本页的棋盘与推理说明为另行制作。

  • Andrew Stuart:显性候选数

    唯一候选数法的通用术语,以及它与隐性唯一数法的关系。 本页的棋盘与推理说明为另行制作。