数独解法全是由规则衍生出来的,基本解法分为两类思路,一类为排除法,一类为唯一法。更复杂的解法,最终也会归结到这两大类中。下边以图示简单介绍几种解法,只要你花几分钟看一遍,马上就可以开始做数独了。数独直观法解题技巧主要有:唯一解法、基础摒除法、区块摒除法、唯余解法、矩形摒除法、单元摒除法,余数测试法等。
基础摒除法
基础摒除法就是利用1 ~ 9 的数字在每一行、每一列、每一个九宫格都只能出现一次的规则进行解题的方法。基础摒除法可以分为行摒除、列摒除、九宫格摒除。
实际寻找解的过程为:
寻找九宫格摒除解:找到了某数在某一个九宫格可填入的位置只余一个的情形;意即找到了 该数在该九宫格中的填入位置。
寻找列摒除解:找到了某数在某列可填入的位置只余一个的情形;意即找到了该数在该列中的填入位置。
寻找行摒除解:找到了某数在某行可填入的位置只余一个的情形;意即找到了该数在该行中的填入位置。
唯一解法
当某行已填数字的宫格达到8个,那么该行剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为行唯一解.
当某列已填数字的宫格达到8个,那么该列剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为列唯一解.
当某九宫格已填数字的宫格达到8个,那么该九宫格剩余宫格能填的数字就只剩下那个还没出现过的数字了。成为九宫格唯一解.
唯余解法
唯余解法就是某宫格可以添入的数已经排除了8个,那么这个宫格的数字就只能添入那个没有出现的数字.
区块摒除法
区块摒除法是基础摒除法的提升方法,是直观法中使用频率最高的方法之一.
余数测试法
所谓余数测试法就是在某行或列,九宫格所填数字比较多,剩余2个或3个时,在剩余宫格添入值进行测试的解题方法.
隐性唯一候选数法
当某个数字在某一列各宫格的候选数中只出现一次时,那么这个数字就是这一列的唯一候选数了.这个宫格的值就可以确定为该数字. 这时因为,按照数独游戏的规则要求每一列都应该包含数字1~9,而其它宫格的候选数都不含有该数,则该数不可能出现在其它的宫格,那么就只能出现在这个宫格了. 对于唯一候选数出现行,九宫格的情况,处理方法完全相同。
三链数删减法
找出某一列、某一行或某一个九宫格中的某三个宫格候选数中,相异的数字不超过3个的情形, 进而将这3个数字自其它宫格的候选数中删减掉」的方法就叫做三链数删减法。
隐性三链数删减法
在某行,存在三个数字出现在相同的宫格内,在本行的其它宫格均不包含这三个数字,我们称这个数对是隐形三链数.那么这三个宫格的候选数中的其它数字都可以排除.
当隐形三链数出现在列,九宫格,处理方法是完全相同的.
矩形顶点删减法
矩形顶点删减法和直观法讲到的矩形摒除法分析方法是一样的。矩形顶点删减法在识别时比较不容易找到,所以最好先使用其它的方法。
三链列删减法
三链列删减法是矩形顶点删减法的扩展,如果不清除矩形顶点删减法,可以参考矩形顶点删减法,以便于更容易理解本节内容。 利用“找出某个数字在某三列仅出现在相同三行的情形,进而将该数字自这三行其他宫格候选数中删减掉”; 或“找出某个数字在某三行仅出现在相同三列的情形,进而将该数字自这三列其他宫格候选数中删减掉”的方法 就叫做三链列删减法。
关键数删减法
在进入到解题后期,利用前面讲到的唯一候选数法、隐性唯一候选数法、 区块删减法、数对删减法、隐性数对删减法、 三链数删减法、隐性三链数删减法、矩形顶点删减法、 三链列删减法都无法有进展的时候,可以考虑使用关键数删减法。关键数删减法就是在后期找到一个数,这个数在行(或列,九宫格)仅出现两次的数字。我们假定这个数在其中一个宫格类,继续求解,如果发生错误,则确定我们的假设错误。如果继续求解仍然出现困难,不妨假设这个数在另外一个宫格,看能不能得到错误。这就是关键数删减法.
标准数独的游戏规则:每行的9个单元格中填入1-9且不重复;每列的9个单元格中填入1-9且不重复;每个3*3单元格组成的宫中填入1-9且不重复。
直观解法大体分为排除法和唯一解法两大类,这两类方法的思路有所区别,原理如下:
1、排除法的原理:由于数独规则要求每行、每列和每宫的数字不重复,所以已出现的数字可以排除掉同行、同列、同宫中其他单元格内再填入该数字的可能性。
2、唯一法的原理:由于数独规则要求每行、每列和每宫中填入1-9且不重复,所以当与一个单元格同行、同列、同宫中出现了8个不同的数字,则这个单元格中只能填入余下的第9个数字。
唯一解法的几种情况:
1、行唯一解,同样可以在列和宫中运用。说明:一行中出现了8个数字,蓝色单元格中填入未出现的第9个数字。
2、行列唯一解。说明:一行与一列交叉且出现了8个不同的数字,交叉点蓝色单元格填入未出现的第9个数字。
3、行列宫唯一解。说明:一行、一列与一宫交叉且出现了8个不同的数字,交叉点蓝色单元格填入未出现的第9个数字。
排除法的几种情况
1、行列排除宫。说明:数字1排除掉7所在的宫中,与1同行列的单元格填入1的可能性,宫中只有蓝色单元格可以填入1。
2、宫排除行列、行列相互排除。说明:数字7排除掉同行中、同宫中其他单元格填入7的可能性,列中只有蓝色单元格可以填入7。
3、区块排除。说明:数字9排除掉中间宫中三个单元格填入9的可能性,则这个宫里只有剩下的两个单元格内可以填入9,这两个格子称作区块,区块中含有9,对下面宫进行排除,推出蓝色单元格填入9。
4、数对占位的排除。说明:数字3、7排除掉宫中与之同行的单元格填入3和7的可能性,该宫中只剩了两个空单元格,那么这两个空单元格中一定填入3和7,现在不能确定3、7的位置,故记做数对。数字9排除掉同宫中一些单元格填入9的可能性,列中又被数对占了位置,只有蓝色单元格可以填入9。