grid_on

Sudoku Clean 素数独

技巧文档 / 唯一解

唯一解

很多初学者会这样想:

进阶

唯一解

1. 不冲突 ≠ 正确

很多初学者会这样想:

“这个数字在这一行、这一列、这一宫里都没出现过,那我就填它吧?”

这个想法很自然,也很常见,但在数独里它并不可靠。

为什么?

因为数独不是“随便填一个眼下合法的数字”,
而是一道只有一个完整解的逻辑谜题。

你现在填的这个数字:

  • 也许暂时不冲突
  • 但它可能会让后面的某一行 / 某一列 / 某一宫走到无解

所以在这款游戏里,你可能会遇到:
眼下看起来没冲突,但依然会被判定为错误。

这不是在责怪你,而是在帮你提前避开后面会无解的那条路:
这一步并不属于这题的唯一解。


2. 一个例子:看起来没冲突,却走到了无解

下面我们用一组图片,慢慢感受一下:为什么“当下不冲突”,并不等于“这一步就是对的”。

第一步:r6c6 看起来可以填 1

请观察高亮格子 r6c6
如果你只看眼前的“冲突规则”,它所在的行、列、宫里确实都没有数字 1,所以 1 看起来是合法的

也正因为这样,很多人会很自然地想:那我就填 1 吧。

示例 1

第二步:r6c1 被迫只能填 4

接下来请观察高亮格子 r6c1
这一步我们换一种更可靠的思路:不是问“能不能填 4”,而是问——这个格子还能剩下哪些数字?

做法很简单:

  • 先把 r6c1 所在行、所在列、所在宫里已经出现过的数字都排除掉
  • 剩下的,就是它可能的候选数字

你会发现,排除完之后只剩下 4
所以这里不是“可以填 4”,而是——只能填 4

示例 2

第三步:r6c2 被迫只能填 9

再看高亮格子 r6c2
同样把它所在行/列/宫里已经出现的数字逐个排除,最后就只剩下 9
所以这里也只能填 9

示例 3

第四步:r6c3 竟然没有任何数字可填

现在轮到 r6c3
你也可以照着上面的步骤,把它所在的行、列、宫里已经出现的数字都排除一遍。

结果会让人有点意外:
1~9 全部都被排除了,r6c3 竟然没有任何数字可以填入。

也就是说:最开始那个“看起来没冲突”的选择,最后把棋盘推到了无解的状态

示例 4

对照:这题的正确答案

下面给出这局的正确答案,你可以对照看看:

示例 5


3. 正确的推理方式:先“只能”,再“填写”

数独里有一个很实用的小习惯:

如果只是“可以填”,先别急着落笔。
等你能证明“只能填”时,再把它写进去。

当你还不确定时,可以先这样做:

  • 笔记把“可能的候选数字”写在格子里
  • 通过删数、区域观察、链式推理等方法,把候选一步步减少
  • 直到某个格子只剩一个候选,或者某个数字在一个区域里只剩一个位置

这样做的好处是:每一步都有理由,你不容易被“看似合法”的选择带偏,也更容易看懂提示为什么成立。