Sudoku Explained

专家 约 9 分钟

放弃之前该查的十一件事

几乎每一张卡死的盘面,都是一个错的候选数、漏掉的一轮扫描,或者方向用反的一个技巧。这就是该查的顺序。

一句话版本

卡住的盘面是信息。有某个具体的东西错了,而它通常是那一小串里的某一个。按顺序走,不要因为贵的项目看起来更像进展就直接跳过去。

下面的顺序是刻意的:最便宜、最可能的在前,最贵、最不可能的在后。

1. 重读一次题面给定的数字

在任何事之前,确认你没有把给定的数字盖掉。这事发生的频率比大家承认的高,纸上尤其常见,尤其是在橡皮擦在印刷数字附近用过之后。

如果题目来自 App,这一项可以跳过。纸上,花那十秒钟。

2. 把一个填满的单元加起来

挑盘面上最满的一行,把九个数字加起来。如果不是 45,这一行里有重复或遗漏。

然后把一列、一宫也各做一遍。三个和,能抓住绝大多数抄写错误,全程不到一分钟。

3. 逐个核对候选数与它的单元

对每个还在的空格,确认它的候选里没有任何一个已经出现在同一行、同一列或同一宫。与已填数字重复的候选是过期的,而过期的候选会造出幽灵图形。

这是卡盘最常见的原因,也是清单上最枯燥的一项——所以它最常被跳过。

4. 重新跑一遍唯一数扫描

不是瞄一眼,是完整的一轮。每个数字、每个宫、每一行、每一列。找到就填,然后从数字 1 重新开扫。

扫描的定义,写清楚了。多数「卡住」的盘面在这里就解决了,因为上一次落子造出了一个隐性唯一数,而之后没人再找过。

5. 两个方向的宫线互斥都查

区块摒除和行列摒除很容易只做一个方向就忘了另一个。如果你从宫往外扫过,就往里扫一遍;如果你扫了行,就扫列。

两个都便宜,两个都能产出别的技巧看不见的排除。

6. 找一遍你已经写下来却没用过的数对

如果候选表填满了,回头读那些有两张相同短表的单元。写下来却从没被用过的显性数对很常见,因为同样的两张表看过几遍之后,眼睛就滑过去了。

7. 检查上一次排除的方向

这一项值得单独拎出来,因为它产出的是一种「看着正常但解不出来」的盘面。

把你上一次用的图形拿出来问:我删的是付账的单元,还是供货的单元?显性数对在单元里付账;X-Wing在覆盖线上付账;摩天楼在同时看得见两座塔的格子里付账。任何一个搞反,都会删掉真实的候选,然后静悄悄地把盘面弄坏。

8. 往上爬一层技巧

到这里全都通过,就往上走恰好一层:数对三数组,然后鱼,然后翼。不要跳到链,也不要因为盘面「感觉」难就跳到你知道的最难那个技巧。

梯子,按顺序。

9. 找唯一性论证

如果盘面上有一个矩形,其中三个角是纯的「X、Y」,那么一个唯一矩形能把它解决掉。知道形状之后这一项很便宜,而它一旦适用就是决定性的。

10. 考虑这道题有两个解

多解的题目会抗拒很多标准技巧,因为那些技巧悄悄依赖唯一性。如果好几个技巧都莫名其妙地失效,去检查是不是某个小矩形能被两种方式填满。

这在出版物里罕见,在手工题和 App 生成题里常见。

11. 现在才试反证链

假设一个值,推下去。它永远管用,正因如此它排在最后:它慢,它不教你任何结构上的东西,而太早伸手,意味着你永远练不出让前面十项变快的图形识别。

清单走完还卡着

如果十一项全部通过、盘面仍然不动,最可能的解释是第 3 项没做彻底。回去把最拥挤的那两三个宫里每一个候选都手动核一遍。

第二可能的解释是这题就是很难。这会发生,而正确的应对是一条反证链,不是继续盯着看。

真正的教训

这份清单存在,是因为卡住的盘面几乎从来不是难技巧的问题。它们是一个漏掉的扫描、一个过期的候选,或者一个方向用反的排除——三个都发生在梯子的简单那一端。

很少卡住的人,不是记得最多图形的人。是每次都把第 1 到第 5 项完整跑一遍、并且不会事先断定「这张盘面肯定不一样」的人。

常见疑问

没填错为什么也会卡住?

通常你还是填错了。多数卡死的盘面里藏着一个错误的候选或漏掉的排除,而盘面看起来是对的,因为错在铅笔标记里,不在已填的格子里。

怎么判断某个候选数是错的?

先挑一个填满的单元把数字加起来,再确认每个剩下的候选都与它的行、列、宫相容。错一个数,下游全被污染。

卡住了要不要重做?

几乎不要。重做会丢掉这张卡住的盘面提供的信息。先走清单——答案通常在前四项里。

到什么程度才算题目真的太难?

这份清单每一项都通过,而唯一还剩的动作是一条要走很多步的反证链。这在出版题里很罕见。