分享

10 分钟学会数独

 昵称32901809 2019-02-28

不了解数独的人,请先看我第一篇文章

数独的规则以及元素

现在你应该知道数独的基本规则,以及行、列和宫

避免你没看前面那篇文章,我解释一下我用到的坐标体系

R 代表行,C 代表列,B 代表宫

R1C1 指第一行第一列那个格子

R23C1 指第一列的第二行和第三行 2 个格子

R1C23 指第一行的第二列和第三列 2 个格子

B1 代表第一宫

本文只是数独的基础技巧和快速入门,如果都学会还想继续深入,请等待我的后续文章

把这篇文章的技巧都能用的出神入化以后,你玩数独已经很厉害了

好了,说正题。

做数独第一个要用到的技巧和思路是什么呢?

答案一定是 「排除法」

什么是排除?

根据数独规则,如果某格内出现了一个数字,与该格同行、同列同宫的位置不能再出现相同的数字。这种排斥同行、同列、同宫其它格内出现相同数字的思路就是排除。见下图:

图中出现的已知数 5,可以排除掉同行、同列和同宫中其他格子内填 5 的可能,即打叉的格子不能再填 5 了,否则和数独的规则矛盾了。

10 分钟学会数独

排除法怎么用?

排除法主要分为:1 宫内排除法、2 行列排除法、3 区块排除法。

宫内排除法

针对某宫进行排除,找到只有一个位置可以填某数。

见下图

观察数字 2

B1 和 B3 的 2 让 B2 的 R12 都不能填 2,那么 2 只能在 R3C6

B3 和 B4 的 2 让 B6 的 C8 和 R6 都不能填 2,那么 2 只能在 R6C9

10 分钟学会数独

行列排除法

针对某行或某列进行排除,找到该行或该列只有一个位置可以填某数。在数独中,行和列其实是一样的,所以行和列通常会一起讨论

见下图

观察 R5,B6 的 2 让 R5 在 B6 的 3 列都没法填入 2,所以 2 只能在 R5C6

再解释一下为什么是行列排除,因为每一行列必须都要有 2,R5 这行的 2 只有只一个位置可以填了,把行变成列也是一样的。

10 分钟学会数独

再看一个例子

还是看 R5,C268 的 2 都因为这些列已经有 2 无法填入,那么 2 只能在 R5C9

再说一句,行变成列是一样的

10 分钟学会数独

区块排除法

利用排除形成区块,再利用该区块作为排除其他位置的条件进行推理填数。

不好理解是吧,看例子吧

下图中,R5 已经有 4 了,所以 B6 的 R5 不能填 4,4 只能在 R46C9 这两个格子中

既然 4 只能在这两个格子,那么 C9 的 4 也就一定在这两个格子里面,B9 的 4 不能出现在 C9,只剩下一个位置可以填入,R9C8 就一定是 4

10 分钟学会数独

再看一个例子

R4 的 8 让 B4 的 8 只能出现 R6 中,这样的 R6 的 8 一定在 B4 的这三个位置

这样 C8,R4 和 R6 交叉排除,B6 的 8 只能出现在 R5C9

10 分钟学会数独

我再总结一下区块排除法

某一个数字在一个宫里面,只出现在某一行或者某一列,那么在这一行或者列的其他宫内就不能出现了。

这个方法在实际运用的时候可能没有前面两种那么容易看出来,当用前面两种排除法的时候,有些宫虽然没法确定数字,但可以把可以填入数字的地方先做好笔记,方便观察。

后面我还会讲一下解决数独的时候用的方法顺序大概什么样的。

好的,排除法就说这么多,接下来说另外一种方法

唯余法:也称唯一余数法,指的是某格里只剩下唯一的数字可以填了。

数独中任意一个格子都可以填入1-9,如果某格的同行、同列和或同宫中已经出现了8个不同的数字,那么该格只能填入没出现的第 9 个数字。

这个思路与排除法不同,排除法是利用已知数字填出相同的数字,而唯余法是利用已知数字填出不同的数字。

看两个例子,一下就理解了

蓝色的 1 这个格子,和它相关的行列已经有 2-9 了,只剩下一个 1 没有填。

10 分钟学会数独

第二个稍微复杂一点,但还是一样的,和蓝色 1 有关的行列宫有 2-9 了

10 分钟学会数独

应该能理解了吧,具体要怎么用,我后面会说

第三个方法

数对占位法:利用数对占位作为间接条件,再配合其他数字的排除推理的方法。

数对是指两格与两数相互对应,但还无法确定两数在这两格中具体的位置。

还是看例子

R4 的 24 和 R6 的 24,让 B5 的 24 只能出现在 R5C56

C4 的 3 和 C5 的 3 排除完后,B5 的 3 的位置是 R56C6

但 R5C6 已经被 24 占据了,你不能填入 3,3 就只能在 R6C6 了

10 分钟学会数独

数对最重要的是起一个占位的作用,虽然我不知道 24 在这两格里面的具体位置,但我把这两格占住了,除了 24 其他的都不能填,你填了除 24 外的任何一个数字,24 中就有一个没法填了

另外数对还有一个作用是做删减,上图这个例子因为通过排除法出来的,所以没有需要删减的地方,如果有些数对是通过唯一余数法出来的,比如还是 24,那么除掉这两个格子,其他和这两个格子相关的地方都不能是 24

这个也能引申到 N 个有关系的格子(同一行,同一列,同一宫)总共有 N 个数字,那么这 N 格数字一定在这 N 个格子里面

后面说的我会专门写一篇来讲,如果现在不理解也没关系

好了,几个基础方法说完了,我来说一下遇到一个数独题目应该怎么开始

怎么解一个数独

先看这个数独已知数最多的那个数字,比如有 6 个 1,5 个 4 等等,那么我们先从 1 开始,用宫内排除法,看看是不是能确定其他 1 的位置,就算不能确定,也先做好笔记,如果已知的只有 1-2 个就先不看了,超过 4 个的都值得先做笔记,这个时候一定需要注意看区块排除法,区块排除法越晚看越不好找到

然后,找相关已知数最多的格子,看看唯余法是不是能够把数字直接填出来,就算填不出来,也请做好笔记,这个时候这个格子基本只有 2-3 个候选数

接下来找已知数最多的行,列,宫,比如某一行已经有 6 个数出现了,只剩下 3 个,先看看能不能填入数字,如果填不进也做好笔记

找数对,然后再排除

重复上面的步骤,如果没解出来,但应该需要把所有格子能够填入的数字都做好笔记了

再找一次数对,做一次排除,这个时候大部分的数独就应该能解决了。

如果解决不了,说明这个数独的难度超过了这篇文章所说的方法,后续我还会接着写更多的方法。

开始练习

这些方法看了容易懂,但怎么用还是得去做数独的题目。解决掉 5 个数独的题目,这些方法就熟练了。

如果你是 iPhone,我自己写了一个 iOS 版本的数独,用这些方法能够解决 App 里面简单和中等难度的题目,更高难度的题目技巧等我后续文章吧。

Appstore 数独游戏

10 分钟学会数独

Android 我看到有一个全民数独还不错

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多