← StudyX Devlog

数独卡住了怎么办:重新检查的顺序

Hiroki ObaraHiroki Obara · DeveloperSudoku365使用指南
数独卡住了怎么办:重新检查的顺序

数独题一般都会做成只有一个答案。既然答案只有一个,那么在任何局面下,都应该有某个格子可以凭理由确定下来。觉得卡住的时候,大多数情况并不是没有下一步,而是还有没看过的地方。

这篇文章写的是,解到一半停下来时,从哪里、按什么顺序重新检查。技巧本身我已经整理在数独怎么解:初学者最先要学的基本技巧里,这里只讲“检查的顺序”。说法和上一篇相同:横的叫“行”,竖的叫“列”,粗线围起来的3×3方块叫“宫”,某个空格里还可能填的数字叫“候选数”。

检查的顺序

我推荐的顺序如下,从轻的检查到重的检查。

1. 一个数字一个数字地看宫。 从1到9依次看,在还没有这个数字的宫里,它能放的格子是否只剩一个。熟练以后,人往往只看出现得多的数字,跳过出现得少的。正是卡住的时候,才要把1到9全部按顺序看一遍。

2. 一个数字一个数字地看行和列。 在行和列上做同样的事。这里最容易漏看。因为眼睛习惯了按宫找,就不再以整行、整列为单位去看了。从空格少的行和列看起,会更快找到。

3. 在空格少的地方,找格子里的数字。 在只剩两三个空格的宫或行里,选一个格子,把它所在的行、列、宫里已有的数字全部找出来。如果已经有8种,剩下的那一个就是这个格子的数字。

4. 写候选数,或者重写。 到这里还找不到,就该写候选数了。如果还没写,从空格少的宫开始写。如果已经写了,就检查候选数对不对(见下一节)。

5. 找要用候选数的技巧。 某个宫里一个数字的候选是不是排在同一行?有没有两个格子的候选数是同样的一组?这就是上一篇里的第4和第5种技巧。

例子:按行看只有一个位置

下面是我自己出的一道题解到一半的盘面。这道题只有一个答案,我用求解程序确认过。“・”是空格。

9 ・ 2 | 5 8 ・ | ・ 7 ・
・ ・ ・ | 1 ・ 2 | 5 ・ 9
・ 6 5 | 9 ・ 7 | ・ ・ 2

5 ・ 6 | 7 9 1 | ・ 2 4
2 ・ 9 | 8 5 ・ | 7 ・ ・
・ ・ ・ | 2 ・ 3 | ・ 9 5

・ 5 ・ | 3 2 8 | 9 6 7
6 2 3 | 4 7 9 | 1 5 8
・ 9 ・ | 6 1 5 | 2 4 3

在这个局面里,不管是在宫里找数字的位置,还是找格子里的数字,都没有能确定的格子。能确定的,只有按行看时的一个位置。

看第2行的6。第2行还没有6。左边的宫在第3行已经有6,所以第2行左边的3个格子都不行。右边的宫里,第2行的空格只有第8列,但第8列在第7行已经有6。剩下的,就是第2行第5列。

如果在上面中间的宫里找6,会剩下第1行第6列和第2行第5列两个位置,定不下来。同一个6,按宫看还是按行看,决定了能不能找到答案。这就是第2步不要跳过的原因。

怎样找出候选数的错误

用候选数解题时卡住了,就要怀疑候选数本身是不是写错了。候选数的错误有两个方向。

擦多了。 把本来能填的数字从候选数里擦掉了。这是最麻烦的一种。正确答案已经从候选数里消失,怎么找也找不到。检查的方法是:在每一行、每一列、每一个宫里,看1到9的每个数字,是已经填上了,还是至少在某个候选数里出现。如果某一行没有7,这一行的候选数里也都没有7,那就是在某处把7擦多了。

忘了擦。 填了一个数字,却没有把同一行、列、宫的候选数里的这个数字擦掉。这只是让候选看起来更多,但也足以让人停下来。从最近填的数字开始,检查相关格子的候选数。

如果两种都找不到,把候选数全部擦掉重写也是一个办法。虽然费时间,但比在错误的候选数上继续想要可靠。

先离开一会儿

把检查的顺序全部走完还是找不到时,我觉得暂时离开盘面也可以。卡住的时候,人往往按同样的顺序看同样的地方。过一会儿再回来,会从另一行或另一列看起,有时就会发现刚才漏看的地方。

还有一点,我不推荐凭猜测填数字。理由上一篇写过:猜对了不算解出来,猜错了后面全部都会乱掉。

在 Sudoku365 里卡住时

Sudoku365 是我做的数独应用,可以在 iPhone、iPad 和 Android 上玩。下面按实际的动作,写一下卡住时能用的功能。

高亮。 选中一个格子,同一行、列、宫和填着相同数字的格子会高亮。上面第1、2步里,盯住一个数字看整个盘面时可以用。设置里的“隐藏已放置数字按钮”(默认开启)会在一个数字9个全部填完后隐藏它的按钮,于是能看出还需要找哪些数字。

撤销。 每按一次,退回一步。写候选数也算一步。填数字时自动擦掉的候选数,也会随撤销恢复。不过,错误次数不会退回。

显示错误。 设置里的“显示错误数字”(默认开启)会让填错的数字马上显示成红色,并计为一次错误。错3次游戏结束。这时,即使“从笔记中移除数字”是开启的,填错的数字也不会擦掉相关格子的候选数。正确的候选数不会因为填错而消失。

提示。 按“提示”,选中的格子里会填入正确的数字。用提示填的数字不能修改,也不能撤销。提示一开始有10个,每通关一道题加1个,看广告也加1个。我认为最好在把检查的顺序走完一遍、仍然找不到时再用。提示填了数字以后,想一想为什么那里是这个数字,下次在同样的地方卡住时就用得上。

中途停下也没关系,主页上的“继续”可以回到同一个盘面。在应用里,暂时离开一会儿很轻松。

应用免费,带广告,可以一次性购买“移除广告”来关闭广告。候选数的写法写在数独候选数(笔记)的写法里,规则写在数独规则:第一次玩之前要知道的事里。

卡住时要检查的地方,大致是固定的:1到9,宫、行、列。从停下的地方按顺序走一遍,下一步通常就在某处等着。

在 App Store 下载 在 Google Play 下载