欢迎光临散文网 会员登陆 & 注册

第4课 杀手数独

2023-08-10 11:00 作者:mlt_official  | 我要投稿

杀手数独(Killer Sudoku)是一类常见的变型数独,其解题思路与标准数独或其他常规变型数独差异较大。杀手数独是在标准数独的基础上全盘添加了若干虚线框,每组虚线框内包含1-9个单元格,在虚线框左上角给出一个提示数字,表示该虚线框包含的所有格内数字之和。杀手数独初始通常不给出已知数字,而是让我们根据这些虚线框提供的条件推理出所有格内数字。

杀手数独的规则

规则:把数字1-9填入空格内,使每行、每列及每宫内的数字均不重复,虚线框内提示数字为该框所有数字之和,同一虚线框内不能出现相同的数字。

下面两图中,左边为一道杀手数独题目,右边为该题目的答案。

例题及其答案

杀手数独的解法

45法则A

如图1所示,一宫内的4个虚线框之和为10+13+15+11=49,由于这4个虚线框合在一起比一宫多出C4一个格,所以可以推理出C4格应该为这4个虚线框内数字总和减去一共内所有数字的总和。则C4=49-45=4。

I行中三格虚线框之和为11+14+17=42,由于这三个虚线框合在一起比I行少一个I9格,可得到I9=45-42=3。

图1

45法则是利用行、列或宫内数字为1-9,总和固定为45的一种解题思路。如果若干虚线框的总体与某行、某列或某宫相差1格,我们可以很容易计算出该格内的数值。该方法是解杀手数独经常使用的解题思路。

45法则B

如图2所示,一宫和四宫内有6组虚线框,这6组虚线框与这两宫相比少一个F3格,所以F3格内数字可以利用两宫内数字的总和减去这6组虚线框格内数字的总和得到,则F3=45×2-6-12-14-22-18-15=3。三宫、六宫和九宫内有8组虚线框,这8组虚线框与7列、8列和9列相比多出了一个I6格,所以I6格内数字可以利用这8组虚线框内数字总和减去这3列内数字的总和得到,则I6=14+18+21+13+15+20+17+15-45×3=8。

图2

这种多宫或多行列的45法则使用起来比较耗时,但解题时如果实在没有更好的突破口也可以采用该方法。

了解了45法则的原理后,以后做题时可以仅计算个位数字以减少计算量。方法如下:

第一步:算出若干个虚线框内的数字之和的个位数字,计算时尽量先凑整。

第二步:观察这些虚线框比某几行/列/宫多一格还是少一格。

第三步:观察第二步中作为比较对象的行/列/宫的个数是奇数还是偶数。

第四步:按照下表进行对应:

对应关系表

所对应到的数字即为所多的一格或者所少的一格内应填入的数字。

例1:仍然是图2的三宫、六宫、九宫的这8组虚线框,计算这8组虚线框内数字之和的个位数字:20可以忽视,13和17凑出一个0,15和25凑出一个0,剩下14、18和21,加起来后个位为3。因为这8组虚线框比3个宫多一格,3是奇数,所以应对应表中第2列的数字,得到所多的I6格内应填入8,这与刚才得到的结果是一样的。

例2:仍然是图2的一宫、四宫的这6组虚线框,计算这8组虚线框内数字之和的个位数字:6和14凑出一个0,12和18凑出一个0,剩下22和15,加起来后个位为7。因为这6组虚线框比2个宫少一格,2是偶数,所以应对应表中第5列的数字,得到所少的F3格内应填入3,这与刚才得到的结果也是一样的。

很多读者都会有疑问:为什么高手做题那么快?上面这种算个位的方法就告诉大家,高手做题快不是没有理由的。当很多人还在一个数一个数加的时候,高手就已经算出来了。所以,想要成为高手,必须掌握这种算法。但此算法仅限多一个数或少一个数的情况。

45法则C

如图3所示,五宫内的4组虚线框比五宫多出来两格,这两格内数字之和为15+13+6+13-45=2,则这两格内只能都为数字1。

图3

上述例子中的情况比较特殊,多出来的两格之和为最小的2。在实际题目中碰到这种情况可以计算出这两格之和,也许还能提供出某些线索。还要注意一点,在这种情况下,如果比某行、某列或某宫多出来的两格不在同行、同列或同宫,这时两格内的数字是可以相同的。由于杀手数独虚线框内数字不能重复的规则,容易让初接触杀手数独的爱好者习惯性地认为这种情况多出来的两格内的数字也不能重复。

45法则D

如图4所示,五宫的3组虚线框与五宫相比较,多出来一个E7格,而少了一个D4格,像这种情况,我们可以根据这几组虚线框内数字之和得到上面所述两格内数字之差。这3组虚线框总和为13+19+21=53,与五宫内数字总和45相比大了8。这说明多出来的E7格比少的D4格内数字大8,两个数字之差为8,则E7格内为数字9,D4格内为数字1。上述例子也是比较特殊的情况,在实际题目中可以得到两格内数字之差,但还需要其他条件才能缩小两格内数字的可能性,直到确定为某数。

图4

唯一性数组

如图5所示,C2和C3格在同一虚线框,两格内数字之和为3,则C2和C3格内一定为1、2数对。B8和C8格在同一虚线框,两格内数字之和为4,则B8和C8格内一定为1、3数对。数对1、2对数对1、3进行影响,得到B8格内填数字1,C8格内填数字3。

H1、H2和H3格在同一虚线框,3格内数字之和为23,则这3格内一定为6、8、9数组。G8、H8和I8格在同一虚线框,3格内数字之和为24,则这3格内一定为7、8、9数组。数组6、8、9对数组7、8、9进行影响,得到H8格内填数字7。

图5

能形成唯一性数组的虚线框,往往是数字之和很大的和很小的。我们需要牢记的有以下几组:

框内2数的情况:3=1+2;4=1+3;16=7+9;17=8+9。

框内3数的情况:6=1+2+3;7=1+2+4;23=6+8+9;24=7+8+9。

框内4数的情况:10=1+2+3+4;11=1+2+3+5;29=5+7+8+9;30=6+7+8+9。

同区域内有和为5和6的两个数的虚线框的情况:5=2+3,6=1+5。四格必须都在同一行、同一列或同一宫。

同区域内有和为14和15的两个数的虚线框的情况:14=5+9,15=7+8。四格必须都在同一行、同一列或同一宫。

虚线框必含某数

如图6所示,图中有两处虚线框,都是由3格构成的和为8的虚线框。3格数字之和为8,这3个数字有两种组合,一种为1、3、4,另一种为1、2、5,无论是哪种组合,其中必含有数字1。这时E1、E2和E3格相当于一个含有数字1的区块,该区块对六宫和为8的虚线框进行排除,由于该虚线框内也必含数字1,则F8格内填入数字1。

图6

虚线框必不含某数

如图7所示,D2格内的数字5对六宫进行排除,由于两格组成的虚线框和为10,这种虚线框内不能填入数字5,所以在六宫中形成了由E9和F9组成的含数字9的区块。该区块对九宫进行排除,又由于数字5不能出现在2格组成的和为15的虚线框和3格组成的和为7的虚线框中,则九宫内的数字只能填在H8格。

图7

从上述例子可以看出,2格构成的虚线框如果两数字之和为偶数,则数值为该和1/2的数字不能填入其中,如2格和为12的虚线框,则数字6不能填入其中。还有某些提示数之和较大的虚线框中不能填入某些较小的数,反之某些提示数之和较小的虚线框中不能填入某些较大的数,例如2格和为14的虚线框,则数字1、2、3、4不能填入其中。又如,3格和为8,则数字6、7、8、9不能填入其中。这种思路比较灵活,需要具体问题具体分析。

实例讲解

图8

如图8所示,本题开始时无法使用45法则,但可以标出只有一种可能的情况:6=1+2+3,7=1+2+4,23=6+8+9。这时在1列内形成了1、2、3、4数组,于是A1和B1格不能再填入1、2、3、4,所以这两格内的数字之和最小为5+6=11,因此A2格内的数字最大为14-11=3,所以A2格的候选数也是1、2、3,如图9所示。

图9

此时在A行形成1、2、3数组,所以A6和A7格不能再填入1、2、3,于是这两格内的数字之和最小为4+5=9,所以B6格的数字最大为10-9=1,因此只能是B6=1。随后得到F7=1,G1=1,D2=1和A3=1。

C1、D1的2、3数对对F1、F2的2、4数对排除,得到F2=2,F1=4,随后得到G6=2,F6=3,C1=2,D1=3,A2=3,A4=2,B4=3。

这时A6和A7只能为4、5数对,A1和B1只能为5、6数对。4、5数对对5、6数对排除,得到B1=5,A1=6,对七宫的6、8、9数组排除得到I2=6,1列最后的一个空格E1=7,如图10所示。

图10

观察六宫和九宫交界处提示数为14的虚线框,现在该虚线框内已经不能有1、2,如果也没有3,那么该虚线框内数字之和最小为4+5+6=15>14,矛盾,所以该虚线框内必有3,得到G9=3,F8和F9只能为5、6数对。

观察三宫提示数为20的虚线框,A8和A9只能填入7、8、9中的两个数字,如果是7、8,则B9=20-7-8=5,与B1的5矛盾;如果是8、9,则B9=20-8-9=3,与B4的3矛盾,所以A8和A9是7、9,B9=20-7-9=4。顺便得到A6=4,A7=5,A5=8。

观察C6、D6、D7这个提示数为13的虚线框,现在该虚线框已经不能有1、3,如果也没有2,则该虚线框内数字之和最小为4+5+6=15>13,矛盾,所以该虚线框内必有2,得到D7=2,C6和D6只能为5、6数对。

观察八宫和九宫交界处提示数为20的虚线框,类似于刚才的讨论可知H6和I6只能为7、9,I7=4,顺便得到E6=8。

观察三宫和六宫交界处提示数为16的虚线框,如果D8=4,则C9和D9必定为3+9、4+8、5+7中的一种,但观察周围数字可知这三种均不能填入,所以D8≠4。那么D8和D9就只能填入7、8、9,由提示数为16可知这两格内数字之和应小于16,所以只能为7、8,顺便得到C9=1。之后可填出六宫的3、4、9,三宫的7、9,再填出六宫的7、8,如图11所示。

图11

此处之后本题无难点,本题答案如图12所示。

图12

练习题

建议用时:40分钟

练习题1
练习题2
练习题3
练习题4


第4课 杀手数独的评论 (共 条)

分享到微博请遵守国家法律