在介绍数独入门的时候,已经说过数对了,但我还是要写一篇文章专门讲一下,掌握了数对,大部分的数独已经难不倒你了。
到这,我相信你对于排除法和唯余法都掌握了,如果还没有,再去看下我前面的文章
数对(数组)是什么,有什么用?
我自己的理解是这样的,N 个数字出现在 N 个有关的格子里面,那么和这几个格子有关系的格子里面不能有这些数字。它的主要作用是占位,这几个数字已经被我这几个格子占住了,其他格子不能用了。
好了,还是上图
看上图,B1 里面有两个格子里面有 37,两个格子两个数字,37 这两个数字已经被这两个格子占住了,所以 B1 其他格子里面不能有 37,就是 B1 打叉的地方。
为什么能占住呢?
如果 B1 打叉的格子里面有 37 任意一个数字,那么现在 37 的这两个格子一定有一个没法填数进去,无论外面用了 3 还是用了 7,这两个格子都剩下同一个数字,出现矛盾。
两个格子两个数字还是比较容易看的
来看一下 C8,3 个格子分别是 456,46,56
但这三个格子数字的并集就是 456 三个数字,三个格子三个数字,这三个数字就被占住了,C8 打叉的地方不能有 456 这三个数字
数对(数组)一般最多看到 4 个数字,再多一定有一组少的数对(数组),或者有一个唯一数可以填
我们来看一个实例
大家看出来哪有数对(数组)了么?
我把我看到的放上来
R2 有 49,B2 有 89,无论用那个,B2 里面 R2 的 9 都可以删掉
B8 有 3 个格子都有 168,那么 R8C6 里面的 168 都可以删掉
删完后是这样的
R8 又有 47 数对了,R8 其他位置的 47 都可以删除,这样 B7 就只有一个 4 了,可以接着填数了。
这几个数对都是很明显的,这个题目里面有个不明显的数对,看看你能不能找到,观察 R5 试试?
这个题目 R5 这个数对看不到也不影响解决的,因为我还有一个区块排除没做。大家也可以看看在哪
可以评论里面讨论。
这个题目是我开发 App 里面困难的第一题
如果你是 iOS 系统,可以搜索 数独游戏 下载我开发的 App