解题技巧 · 简单
唯一候选:只剩一个数可填的格子
唯一候选(又叫显性唯一、唯余法)是每个数独玩家最先学会的技巧,从入门题到专家题都会一直用到。做法很简单:盯住一个空格,把它周围已经出现的数字列出来,如果 9 个数字里有 8 个已经被占,剩下那个就一定填在这里。下面讲清它为什么成立、怎样快速找到,以及新手最容易漏看的地方。
什么是唯一候选
每个空格同时属于三个单元:所在的行、列和 3×3 宫。这三个单元里一共有 20 个其他格子,叫做这个格的“同伴格”。同伴格里已经出现的数字都不能再填进这个格,因为数独规定同一行、列、宫里数字不能重复。
剩下还能填的数字就是这个格的候选数。当一个格只剩一个候选数时,它就是唯一候选。之所以叫“显性”,是因为只看这个格本身就能发现,不需要和其他空格比较。
为什么一定成立
合格的数独只有唯一解,解里每个格都要填 1 到 9 中的某个数。既然 8 个数字都被同伴格排除了,这个格就没有别的合法选择,剩下那个数是被逼出来的。整个过程不需要猜,唯一候选是确定结论,可以直接落笔。也正因为如此,Quietdoku 的简单题只用唯一候选和隐性唯一就能解完。
怎么找唯一候选
先看最满的地方。已经填了六七个数的行、列或宫,空格的选择很少,唯一候选往往最先出现在这里。在这样的区域挑一个空格,把它所在行、列、宫里出现过的不同数字合起来数一数。
要数数字,不要数格子。同一个数字可能同时出现在行里和宫里,只能算一次。实用的办法是从 1 到 9 依次过一遍,每个数字问一句“同伴格里有没有”。过完一遍只剩一个数字没出现,就找到了唯一候选。
题目变难以后,建议标候选数:在每个空格里用小字写出所有可能的数字。这样唯一候选就是只剩一个小字的格子。每填一个数,都要把它从同伴格的候选里划掉,新的唯一候选正是这样冒出来的。
例题讲解
看示例棋盘里标金色数字的 R4C1(第 4 行第 1 列)。它所在的行已有 3、1、4、7、5,分别在 R4C2、R4C5、R4C6、R4C7、R4C8;所在的列有 R3C1 的 9、R5C1 的 7、R6C1 的 6;所在的宫(左中宫)还有 R5C2 的 4 和 R6C3 的 2。这些就是高亮的格子。
把不同的数字合起来是 1、2、3、4、5、6、7、9,只缺 8,所以 R4C1 只能填 8。注意 7 和 4 在同伴格里各出现了两次,这不影响结论,每个数字出现一次就足以被排除。
这个格不是隐性唯一:第 4 行里 8 还可能填在 R4C3、R4C4、R4C9,第 1 列里 8 还可能填在 R7C1、R8C1、R9C1。只有盯住这个格本身才能发现它。而且此刻它是全盘唯一一个唯一候选,实战中也常常如此:下一步往往只藏在某一个格子里。
常见误区
只看行和列。漏看宫是最常见的错误。很多唯一候选要靠只出现在 3×3 宫里的一两个数字才能成立,比如例题里的 2。
数格子而不是数数字。一个数字同时出现在行和宫里,也只排除了一个数字。算两次就会把还剩两个候选的格子误当成已经确定。
候选数没有及时更新。标了候选却在旁边填数后忘了划掉,真正的唯一候选就会被过时的小字挡住。每填一个格,都要顺手更新它的同伴格。
什么时候用,下一步学什么
每填一个数都回头找一遍唯一候选,因为新填的数会从 20 个同伴格里删掉候选。简单题里,唯一候选和隐性唯一交替使用就能一路填满。
当没有格子只剩一个候选时,就该用隐性唯一了,它换个角度,从数字出发而不是从格子出发。再往后是区块摒除和显性数对,它们通过删候选让新的唯一候选出现。卡住时,Quietdoku 的提示会指出下一步,并告诉你用的是哪种技巧。