【写给新手】解数独的基本方法

精华修改于2023/05/298.7 万浏览综合
本人玩这个游戏时间不长,目前也才2万多分,玩到专家28关。看到有些人发帖询问,基本玩法还不清楚,就来说说,大佬勿喷。
同一行和列里不能有重复数字大家都知道,但是有些人对宫的概念不清楚,这就没法玩了。请看下图:
TapTap
数字"2"上面的线是由两条黑细线和灰色条组成的,数字"2"左面的线也是由两条黑细线和灰色条组成的。
像这样的线就是用来划分宫的,被这样的线划分的每个区域就是一个宫,每一个宫里面有四个、六个或是九个基本方格,对应四宫、六宫或是九宫。
上图是四宫,所以每个区域(宫)有四个基本方格。
基本规则:
以九宫格为例,九宫格每一行有九个基本方格,每一列有九个基本方格,每一宫里也有九个基本方格(我说的是完整的九宫格,普通难度的前几关是不完整的)。当某一行的一个基本方格里出现了某个数字,例如数字"1",那么这一行的其他八个基本方格里就不能再是"1",列与宫同理。
明白了上面那些就可以说基本方法了,以九宫格为例进行说明。为方便说明将九宫格的九个宫命名,如下:
左上宫 中上宫 右上宫
左中宫 中中宫 右中宫
左下宫 中下宫 右下宫
TapTap
方法一:
接下来的方法暂命为方法一,便于区分其他方法。
这是专家难度第一关,在这一关里已经给出了几个数字"1",我们点击其中一个数字"1",如下:
TapTap
所有已经确定的数字"1"被系统标记为橘色(是橘色吧,对颜色更懂的如果认为不对可以纠正,前两天玩"还有这种操作2"有一关分辨口红颜色,让我对分辨颜色不太自信了...),可以看到,图中一共有五个数字"1"。
那么,九宫格一共应该有几个数字"1"呢?九宫格一共有九个"宫",每个"宫"里都要有而且只能有一个数字"1"。所以,九宫格一共应该有九个"1"。
可以看到,上图中还缺少四个"1"没有被确定下来,我们先看看能不能把这还没确定的"1"找出来。
先看中中宫,这个宫里没有数字"1"。并且,这个宫里还剩四个空白的基本方格。那么,哪个基本方格里是"1"呢?
请观察中中宫周围的宫里的"1",根据中上宫里的数字"1",我们知道这个"1"所在的这一列里都不能再有"1"了。所以,在中中宫里,数字"5"下面那两个基本方格都不能是数字"1"。
所以,中中宫的数字"1"只能出现在这个宫里数字"7"的下面。
再根据左中宫的数字"1",知道,那一行不能再有"1"。所以,中中宫里数字"7"下面紧挨着数字"7"的方格里不是"1"。
那么,中中宫的数字"1"就应该是在数字"7"下面隔着一个格的方格里,如下图:
TapTap
还剩三个"1"没确定,但是,用这个方法找不到了。我们去找数字"2",如图:
TapTap
有五个数字"2",还剩四个没确定。先确定左上宫里的数字"2",根据中上宫、右上宫、左中宫这三个宫里的数字"2",可以确定左上宫的数字"2",如下图:
TapTap
具体思路类比找数字"1"时的思路。接着,左下宫:
TapTap
中下宫:
TapTap
右下宫:
TapTap
好了,所有的数字"2"都已经确定了。接下来,数字"3":
TapTap
左下宫:
TapTap
右下宫:
TapTap
数字"4":
TapTap
中中宫:
TapTap
右中宫:
TapTap
右上宫:
TapTap
数字"5":
TapTap
左上宫:
TapTap
右中宫:
TapTap
右下宫:
TapTap
中下宫:
TapTap
按照这个方法把所有数字过一遍直到"9",然后得到的图是这样的:
TapTap
剩下那些空白的方格就很好确定了,我就不说了。
使用这个方法需要注意一点,因为我们是按照从"1"到"9"的顺序找,但不一定能把前面的数字都找出来,这时,我们需要找后面的数字。当后面的数字确定了一些的时候,有可能会对前面的数字有帮助。就是说,当前面的数字进行不下去的时候找后面的数字,后面的数字确定了几个之后再回去找前面的数字,也许之前无法确定的这时候却可以确定下来。
因为,后面确定的数字是要占格子的,这样,空白的格子变少了,也就更容易找了。
所以,使用这个方法的正确方式是从"1"找到"9",找完一遍再从"1"找到"9",直到所有数字都找不到新的为止。这时,再考虑其他办法。
依靠方法一并不能解出所有题目,下面说方法二。使用方法二的时候需要频繁的在其中穿插使用方法一,所以,在看方法二之前请先详细了解方法一。
方法二:
在讲解之前先说两件事,第一件事,命名行与列,命名如下:
第一行
第二行
第三行
.
.
.
第九行
第第第 第
一二三······九
列列列 列
第二件事,"标记"的使用,游戏中有标记这个功能,在解题时需要用到,请先了解如何使用,不难。
进入正题,下图是普通难度69关:
TapTap
先使用方法一解,可以发现解到下图的状态就进行不下去了:
TapTap
这时,我们从第一列开始逐列推算,根据左上宫剩余空白方格的情况可知,还剩数字"1"和"6"没确定,正好都在第一列。标记出来如图:
TapTap
这个标记的含义是(重点):第一列的数字"1"和数字"6"只能出现在被标记的这两个方格里。(如果第一列的其他格里是"1"或"6",那左上宫的"1"和"6"怎么办?所以,只能出现在那两个方格里)
好了,虽然这两个方格哪个是"1"哪个是"6"还不知道,但至少确定范围了。那么,第一列里还有哪些数字没确定范围呢?
数一数,"5"和"8"还不知道。最上面两个方格已经被"1"和"6"占了(它们两个只能在这两个方格里,又只有两个方格,当然没有其他数字的位置了),所以,"5"和"8"只能出现在最下面两个方格里。标记出来,如图:
TapTap
同样,这个标记的含义是:第一列的数字"5"和数字"8"只能出现在这两个方格里。目前,还无法确定哪个是"5",哪个是"8"。没关系,往下进行。
在推算第二列之前有个好消息,那就是:由于第一列"5"和"8"的这个位置,左下宫没出现的数字"1"可以确定了。第一列最下面两个方格已经没有其他数字的位置了,所以"1"只能出现在下图的位置:
TapTap
是不是很有意思,之前用方法一无法确定的数字"1"就这么被找出来了。
请记住(重点):在使用此方法(这里指方法二)或是方法一的时候,一旦某一行、某一列、某一宫就差一个数字了,就马上填充出来。
上面虽然"5"和"8"谁是谁还不知道,但范围有了,左下宫就差"1"了。
下面推算第二列,第二列还差"3"和"5",标记出来,如图:
TapTap
推算第三列:
看图可知第四行有个"1",所以第三列的"1"只能出现在下图的位置:
TapTap
看图可知第六行有个"6",所以第三列的"6"只能出现在下图的位置:
TapTap
看图可知第五行有个"8",所以第三列的"8"只能出现在下图的位置:
TapTap
推算第四列:
看图可知第四、七行分别有个"1",这样第四列的"1"就有三个可能的位置,分别位于第四列的二、六、八行。像这样可能位置多于两个的我们不标记,位置多了繁琐,容易出错,而且意义不大。
找"2",看图可知第二、四、六、七行分别有个"2",所以第四列的"2"只能出现在第八行的位置:
TapTap
这样,第八行被"2"占了。那么,"1"就只剩两个可能的位置了。这时,我们就标记出来,如图:
TapTap
标记"5":
TapTap
标记"6":
TapTap
标记"9":
TapTap
这时,我们发现第四列的第七行只有一个"6"。也就是说,只有"6"可能出现在这个位置,那这个位置就是"6",填充出来:
TapTap
这样,第二行的标记"6"就没意义了,删掉:
TapTap
并且,由于第四列这个"6"的确定,我们发现整个第七行只差数字"8"了,填充出来:
TapTap
然后,右下宫又只差数字"6"了,填充出来:
TapTap
推算第五列,我们发现只有"7"有两个可能的位置,其他数字可能出现的位置都多于两个。标记出来:
TapTap
推算第六列:
TapTap
推算第七列:
TapTap
推算第八列:
TapTap
推算第九列,标记"3":
TapTap
由于第五行有个"8",所以,第九列的"8"确定了:
TapTap
"3"随之确定:
TapTap
至此,我们把第一到九列都过了一遍。
重点:此时,使用方法一。
"1"、"2"仍然找不到。
找"3",如上图,所有的"3"被系统显示为橘色,左中宫的"3"能够确定出来,如图:
TapTap
第二列就差"5":
TapTap
用方法一找中中宫的"3":
TapTap
中上宫的"3":
TapTap
右上宫的"3":
TapTap
一直到"9"发现仍然找不出来,进行不下去,如图:
TapTap
TapTap
TapTap
TapTap
TapTap
TapTap
没关系,再回来使用方法二。
第六列由于刚才确定了几个数字,"1"的范围缩小了,标记出来:
TapTap
"9"也可以标记了:
TapTap
第七列的"5"可以标记了:
TapTap
标记"7":
TapTap
第七列还有"6"没有标记,但是我们发现,第六行有个"6"。说明第七列的第六行不是"6",那就只能是"5"了,填充:
TapTap
这样,第四行的标记"5"就要删掉:
TapTap
第八列,"7"标记出来:
TapTap
然后,请点击"5":
TapTap
发现第四列的"5"不能出现在第六行,那就只能在第四行:
TapTap
第六行的标记"5"删掉:
TapTap
发现第六行只能是"1",填充:
TapTap
第二行就是"9":
TapTap
由于第六行出现了"1",所以,第三列的"1"在第五行:
TapTap
删掉第三列第六行的标记"1":
TapTap
第六行只能是"8":
TapTap
"6":
TapTap
使用方法一,右中宫的"6"可以确定了:
TapTap
这样,第七列的"4"只能出现在第四行:
TapTap
第七列的"7":
TapTap
右中宫的"7":
TapTap
使用方法一,中上宫的"7":
TapTap
删掉第五列的标记"7":
TapTap
删掉第八列的标记"7":
TapTap
第二行有"9",所以第八列的"9":
TapTap
第八列的"6":
TapTap
第二行出现"6",所以,第一列只能"1"在第二行:
TapTap
第一列的"6":
TapTap
使用方法一,中上宫的"1":
TapTap
中下宫的"1":
TapTap
使用方法一,中上宫的"6":
TapTap
中上宫的"2":
TapTap
第六列的"9":
TapTap
删掉第六列的标记"1"和标记"2":
TapTap
使用方法一,中中宫的"8":
TapTap
中下宫的"8":
TapTap
第九行出现"8",第一列的"8":
TapTap
第一列的"5":
TapTap
至此,就差不多了,剩余几个空很简单。
599
451
63