数独技巧 · 极限
数独中的BUG+1
BUG+1是双值通杀加一的简称,属于唯一性论证。如果每个未解的格子都恰好只剩两个候选数,且每个数字在每个组里都恰好出现两次,棋盘就会有两个解,而一道合法的题目永远不会这样。所以当棋盘除了一个带三个候选数的格子之外都达到这种状态时,破坏这个规律的那个候选数就必定是答案。
原理
在一道有唯一解的题目中,假设除一个格子有三个候选数外,其余未解格都恰好有两个候选数。如果从该格中移除某个候选数后,每个数字在每一行、每一列和每一宫中作为候选数出现的次数都为零次或两次,那么这个候选数必定为真。否则,任何一个解都可以通过将每个未解格换成另一个候选数,得到一个镜像解。
怎么找到它
这不是主动去找的技巧,而是在一道难题快解完、棋盘变得几乎全是双值格时才注意到的。
- 检查是否每个未解的格子都恰好只剩两个候选数,只有一个例外带三个。
- 在这个格子里,找出在它所在的行、列和宫里出现次数为奇数的那个候选数,那就是答案。
- 和唯一矩形一样,这个结论只是因为题目保证只有一个解才成立,并不是单靠棋盘本身的纯逻辑。
需要先学
实例
这些是应用自带的课程棋盘,可以像提示一样一步步看下去。
模式答案关联阻挡排除
246
Step 1 of 2
- 1
盘面上剩余的每个未解格都是双值格,也就是恰好有两个候选数。唯一的例外是高亮格,它有三个候选数:2、4、6。
- 2
现在看高亮格所在的行、列和宫:候选数 6 在每个区域中都出现三次,其他候选数如果出现,则都恰好出现两次。如果这个格子不是 6,那么所有候选数在各处都会恰好出现两次,形成一个可用两种不同方式完成的致命模式。这道题只有唯一解,所以这里必须填 6,并且可以删除 2 和 4。