没有重复数字的数独也可能无解吗?
是的,没有重复数字也可能无解。重复检查只看已填内容,完整解还需一致地填满全部空格。某格没有可填数字,或区域内必需数字无处可填,都足以证明无法完成。
推理实例
从左上角读取坐标:r 代表行,c 代表列。小数字表示候选数,描边标出图注讨论的格子。
在求解器中打开本例查看完整的 81 格输入
每行从左到右,逐行从上到下读取。0 表示空格。
013056789056789123789023456234567891567891234891234567345678912678912345902345678无处可填的数字 2
此盘面基于隐性唯一数示例,在 r1c2 错填了 1。该行、列和宫原本都没有其他 1,因此没有直接重复,但仍无法完成整盘。
r9c2 也能发现矛盾:第 9 行需要在那里填 1,但第 2 列已有新增的 r1c2 = 1。同一个根本错误可能在多处暴露,发现矛盾的位置不一定就是填错的位置。
步骤 1. 第 1 行为:空、1、3、空、5、6、7、8、9,缺少 2 和 4。
步骤 2. r1c1 不能填 2,因为第 1 列的 r4c1 已有 2。
步骤 3. r1c4 不能填 2,因为第 4 列的 r6c4 已有 2。
步骤 4. 这就是第 1 行仅剩的空格,必需的 2 无处可填,所以无解。
盘面无效的三种不同原因
求解器区分输入错误与答案数量,帮助你判断下一步检查什么。
| 题目诊断 | 能证明什么 | 建议的下一步 |
|---|---|---|
| 输入格式错误 | 文本未表示 81 个有效格子 | 检查长度、顺序和空格符号 |
| 冲突的数字 | 区域内出现重复数字 | 核对高亮数字与原题 |
| 无解 | 无冲突,但无法补全 | 核对抄录的已知数,撤销未经证明的落子 |
找出错误假设,不要随意替换数字
有原题时,先只输入已知数检查。若原题唯一解、当前盘面却无解,则至少一个新增数字有误。撤销自己的落子,回到每一步都能说明理由的位置。
仅输入抄录的已知数就无解时,应逐行核对,特别注意漏掉空格或数字错位。不要悄悄改动已知数来让求解器给出答案,那样解决的是另一道题。
本例已知是新增的 r1c2 = 1 导致无解。擦除后恢复原盘面,第 1 行会强制 r1c2 = 2。历史不明的盘面中,仅凭求解状态无法定位唯一错误格。
卡住不代表无解
没有找到显性或隐性的唯一数,只能说明当前检查没有用这些技巧找到下一步,不能证明无解。可能需要更复杂的推理,也可能题目存在多解。
只有穷尽全部合法分支的完整搜索,才能证明无解。不完整的检查做不到这一点;因超时或技术限制而中止时,结论仍是未知,不能报告为“无解”。
检验理解
第 1 行两个空格都能填 4。先填一个 4,能找出 2 的位置吗?
查看推理
不能。只要列中的已有数字固定不变,这两个空格都不能填 2。任一格先填 4,只会把同样无法满足的条件留给另一格,矛盾已经成立。
关于本例
本例从完整棋盘构造而来,为便于检查特定推理保留了较多已知数。诊断示例在明确说明时故意设置冲突或多解;它们是教学盘面,不是已评级的游戏题目。
规则与术语
- Nikoli:数独规则
示例使用的标准行、列及 3×3 宫规则。 本页的棋盘与推理说明为另行制作。