玩数独到了一定难度,普通的同行、同列和同宫排除法就不够用了。盘面上剩下很多空格,每个格子里都能填好几个数字。这个时候如果靠运气去猜,只要猜错一个,整盘都要推倒重来。高级解法的核心逻辑不是猜数,而是删减候选数。只要能通过严密逻辑排除掉某些格子里的错误候选数,正确的答案自己就会显现出来。
做高难度题,第一步是做好标记。建议先用双候选数法,也就是当某个数字在一个宫内只有两个可能位置时,才把它写在格子边缘。如果一开始就把所有空格的所有可能数字全部填满,整个盘面会很混乱,反而容易看漏。等到双候选数无法推进时,再把所有空格的候选数完整补齐。标出候选数之后,做题目标就转变了:不是找哪个格子能填什么,而是找哪个格子里的候选数可以删掉。
第一个常用的高级技巧是 X-Wing,中文常叫二阶鱼或矩形删减法。
先看一个具体场景。在整盘中观察数字 5。你检查每一行,发现第 2 行的数字 5 只能出现在第 3 列和第 8 列;接着看第 7 行,数字 5 也只能出现在第 3 列和第 8 列。
这两行里的数字 5 正好对齐,位于相同的两列上。
这里的逻辑很清楚:第 2 行必须有一个 5。如果第 2 行的 5 在第 3 列,那么第 7 行的 5 就只能在第 8 列;如果第 2 行的 5 在第 8 列,第 7 行的 5 就只能在第 3 列。
无论出现哪种情况,第 3 列和第 8 列的 5 都已经被第 2 行和第 7 行占住了。
操作步骤如下:
先找出由这四个格子构成的矩形位置。
然后观察第 3 列和第 8 列中除了这四个格子之外的其他所有格子。
直接把这两列其他格子里面的候选数 5 全部删掉。删掉这些干扰项后,相关列往往就会暴露出唯一的填数位置。
第二个技巧是摩天大楼。很多时候 X-Wing 的四个角对不齐,有一边平齐,另一边错开了,这就是摩天大楼结构。
比如观察数字 7。在第 2 列中,数字 7 只能填在第 2 行和第 8 行;在第 6 列中,数字 7 只能填在第 2 行和第 5 行。
它们在第 2 行是平齐的,都在同一行;但在另一端,一个位于第 8 行,另一个位于第 5 行,两端所在的行不同。
逻辑推导如下:第 2 行只能填一个 7。如果第 2 行第 2 列填了 7,那么同行的第 2 行第 6 列就不能填 7,此时第 6 列的 7 必须填在第 5 行。反过来,如果第 2 行第 2 列不填 7,那么第 2 列的 7 就必须填在第 8 行。
这说明一个事实:第 8 行第 2 列与第 5 行第 6 列这两个端点,至少有一个必须填 7。
操作步骤如下:
先锁定这两个不同行的端点格子。
然后找到能同时看到这两个端点的所有空格。比如某个空格同时和第 8 行第 2 列在同一行,又和第 5 行第 6 列在同一列。
在这个公共空格里,数字 7 不可能成立。直接把该格子的候选数 7 删掉。
第三个技巧是 XY-Wing。这个技巧专门用来处理只有两个候选数的格子。
当盘面上出现较多双候选数格子时,可以寻找由三个格子构成的联动关系。这三个格子包括一个枢纽格和两个端点格,并且每个格子都只有两个候选数。
举一个实际例子:
枢纽格在第 4 行第 5 列,候选数是 1 和 4。
第一个端点格在第 4 行第 1 列,候选数是 1 和 9,它与枢纽格在同一行。
第二个端点格在第 6 行第 5 列,候选数是 4 和 9,它与枢纽格在同一列。
分析枢纽格的取值:它里面只有 1 和 4 两种可能。
如果枢纽格填 1,同行第一个端点格就不能是 1,只能填 9。
如果枢纽格填 4,同列第二个端点格就不能是 4,也只能填 9。
结论是:无论枢纽格最终填哪个数,这两个端点格当中必然有一个要填 9。
操作步骤如下:
先确认这三个双候选数格子的位置与关联。
然后找到能同时看到这两个端点格的所有公共空格。在本例中,第 6 行第 1 列同时与第一个端点格同行、与第二个端点格同列。
如果第 6 行第 1 列的候选数里包含 9,直接删掉 9。
第四个技巧是唯一矩形。这个技巧的逻辑依据是:标准数独题目只有唯一确定的解。
如果在两行、两列且跨越两个九宫格的四个空格中,出现相同的两个候选数,比如都是 2 和 6。如果这四个空格最后只填 2 和 6,那么把这两组数字对调,盘面依然能成立,题目就会出现两组解。出题逻辑不允许双解存在,所以这种结构必须被打破。
最常见的情况是:四个格子组成的矩形中,有三个格子的候选数是纯粹的 2 和 6,而第四个格子里除了 2 和 6,还有一个额外的候选数 8。
逻辑推导很直接:第四个格子不能填 2,也不能填 6。因为一旦填了 2 或 6,就会导致死循环双解。为了让题目保持唯一解,第四个格子必须填那个多出来的数字。
操作步骤如下:
先确认这四个格子跨越两个宫、两行和两列。
检查其中三个格子是否严格只包含相同的两个候选数。
在第四个格子里,直接删除那两个重复的候选数,保留剩下的数字。在这个例子中,第四个格子直接填入 8。
很多人学了这些技巧后依然卡壳,主要是解题顺序需要调整。我的做题流程分为四步:
先做基础排除。把能直接看出来的数字全部填完,优先处理空格少于三个的行、列和宫。
当盘面停滞时,开始标记候选数。先标每个宫内只出现两次的数字。如果依然找不到突破点,再完整补齐候选数。
标记完成后,分类寻找结构。如果盘面上有较多双候选数格子,优先找 XY-Wing 或唯一矩形,因为双候选数的目标最小,识别速度最快;如果某个单一数字在多行中都只有两个可能位置,优先寻找 X-Wing 或摩天大楼。
一旦成功删减了一个候选数,立刻停下来。不要连续去套用复杂技巧。先回头检查刚才删减候选数所在的行、列和九宫格,看看是否已经产生唯一的候选数。只要确定了一个新数字,就返回第一步重新做基础排除。通过逻辑删减找到缺口后,大部分后续空格都能顺畅填出。

技能提升网