跳到主要内容
题目诊断阅读约 3 分钟发布于

数独冲突:找出重复数字,避免删错格子

数独冲突是同一行、列或 3×3 宫出现重复的已填数字。至少要改动这组重复数字中的一个才能恢复有效状态,但仅凭冲突无法判断具体哪个数字抄错或填错了。

推理实例

9×9 数独教学示意图r1c1、r1c2 和 r4c1 已描边。r1c1 的 2 同时在行、列和左上宫重复。 第 1 行:2, 2, 3, 4, 5, 6, 7, 8, 9。 第 2 行:4, 5, 6, 7, 8, 9, 1, 2, 3。 第 3 行:7, 8, 9, 1, 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, 1, 2, 3, 4, 5, 6, 7, 8。c1r1c2r2c3r3c4r4c5r5c6r6c7r7c8r8c9r9
r1c1、r1c2 和 r4c1 已描边。r1c1 的 2 同时在行、列和左上宫重复。

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

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

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

223456789456789123789123456234567891567891234891234567345678912678912345912345678

追踪一个数字在三个区域中的影响

教学盘面把完整答案中的 r1c1 从 1 改成了 2。我们知道改动历史是因为自己构造了例子;检查别人提供的题目时,仅靠重复数字无法得知这一历史。

受影响的是三个格子,不是六处独立错误。同一格可参与多个冲突,同一对数字也可能同时在行和宫重复。检查器应标出所有相关格子,但不应断言它们全都填错了。

区域重复数字位置
第 1 行2r1c1 与 r1c2
第 1 列2r1c1 与 r4c1
左上宫2r1c1 与 r1c2

对照原题修复盘面

先区分已知数与自己的输入:已知数定义题目,落子应由其推导。落子与正确抄录的已知数冲突时撤销落子;两个已知数冲突时,改动前先核对原题中的两处。

  1. 步骤 1. 定位重复数字并说明区域,例如“第 1 列有两个 2”。

  2. 步骤 2. 将相关格子与原始纸面或已保存的题目核对。

  3. 步骤 3. 修正已核实的抄录错误,或撤销未经证明的玩家输入。

  4. 步骤 4. 重新检查整盘。消除一个重复不等于剩余题目一定有解。

没有重复不等于没有错误

错误数字可能不违反眼前的行、列、宫约束,却使整题无法完成。重复数字检查不能发现这种情况,需要搜索完整答案,或者在推理过程中发现矛盾。

反过来,只要出现重复数字,就足以判定不符合标准数独规则,无需搜索全部答案。合理顺序是先查格式,再查直接冲突,最后判断无冲突的题目有零个、一个还是多个解。

候选笔记重复是正常现象

同一行多个空格都可以写候选数 2。它们表示可能性,不是同时填入的答案,因此不违反规则。冲突针对大号的已填数字。

粘贴到求解器时,只包含已填数字;空格记作 0,按从左到右、从上到下读取。不要把候选笔记当成格子的确定数字粘贴。

检验理解

本例擦掉 r1c2 的 2,就修复盘面了吗?

查看推理

没有。虽然消除了该行和宫的重复,但 r1c1、r4c1 仍在第 1 列重复出现 2。本例已知真正改动的是 r1c1;陌生题目应核对原始条件,不要随便挑一个高亮格删除。

关于本例

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

规则与术语

  • Nikoli:数独规则

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