一、从“笼子内不重复”到“笼子间互斥”
杀手数独的基本规则之一是——同一个笼子里的数字不能重复。比如一个2格笼和值是10,可能的组合是{1,9},{2,8},{3,7},{4,6}——{5,5}不行,因为重复了。
这个规则大家都知道。但很多人忽略了——不仅笼子内不能重复,笼子之间也存在“互斥”关系。当两个笼子有某种关联(共享行/列/宫、重叠、相邻)时,可以利用“数字不能重复”的规则,排除一些候选数字。
这就是“重复数字排除”技巧——它能帮你快速缩小候选范围,特别是在开局信息不多的时候。
本文讲解3种常见的笼子间重复数字排除:同区域笼子互斥、重叠笼子互斥、相邻笼子互斥。
二、类型一:同区域笼子互斥
1. 原理
如果两个(或多个)笼子完全在同一个区域(同一行、同一列、或同一宫)内,那么这些笼子里的数字都不能重复——因为同一行/列/宫内的数字本来就不能重复。
换句话说,同一区域内所有笼子的数字合起来,就是1-9各一个(如果这些笼子正好填满整个区域)。
2. 应用场景
场景1:同一行/列/宫内的多个笼子,数字不能重复
如果同一行内有两个笼子,笼A的组合包含数字5,笼B的组合也包含数字5——但同一行内不能有两个5,所以可以排除一些组合。
具体例子:
第1行有两个2格笼,都完全在第1行内:
- 笼A:和值10,组合{1,9},{2,8},{3,7},{4,6}
- 笼B:和值8,组合{1,7},{2,6},{3,5}
这两个笼子都在第1行内——所以它们的数字不能重复。
现在,假设通过其他信息已经确定笼A是{2,8}(即笼A的两个数字是2和8)。那么笼B就不能包含2或8——笼B的组合{2,6}包含2,排除!所以笼B只能是{1,7}或{3,5}。
关键点:同一区域内的笼子,数字不能重复——确定了一个笼子的数字,就能排除其他笼子包含这些数字的组合。
场景2:多个笼子正好填满一个区域,数字合起来是1-9
如果同一行/列/宫内的多个笼子正好填满整个区域(9格),那么这些笼子的数字合起来就是1-9各一个——和值总和一定是45。
这可以用来验证笼子和值是否正确,或者反过来——如果知道了大部分数字,就能求出剩余数字。
具体例子:
第1宫(3x3,9格)有3个笼子,都完全在第1宫内:
- 笼A:3格,和值15
- 笼B:3格,和值18
- 笼C:3格,和值12
3个笼子共9格,正好填满第1宫。和值总和 = 15+18+12 = 45——正好是1-9的和,验证正确。
如果通过其他信息确定了笼A是{1,5,9},笼B是{2,6,7}——那么笼C的数字就是剩下的{3,4,8}(因为1-9中去掉1,5,9,2,6,7,剩下3,4,8)。笼C的和值 = 3+4+8 = 15——但题目说笼C和值是12,矛盾!说明之前的确定有误——这就是“验证”功能。
3. 识别方法
- 看同一行/列/宫内有哪些笼子
- 如果这些笼子都完全在区域内——它们的数字不能重复
- 确定了一个笼子的数字后,检查其他笼子的组合是否包含这些数字——包含的排除
三、类型二:重叠笼子互斥
1. 原理
杀手数独中,有时候两个笼子会“重叠”——即一个格子同时属于两个笼子?不对,杀手数独中每个格子只属于一个笼子(笼子是不重叠的)。
这里说的“重叠笼子互斥”是指——两个笼子共享同一行/列/宫的部分格子,或者一个笼子的格子跟另一个笼子的格子在同一行/列/宫内。因为同一行/列/宫内数字不能重复,所以这两个笼子的数字也不能重复(在共享的行/列/宫范围内)。
这其实是“同区域笼子互斥”的扩展——不一定两个笼子都完全在同一区域,只要它们有格子在同一区域,那些格子的数字就不能重复。
2. 具体例子
例子:笼A是一个2格笼,格子在第1行第1列和第1行第2列(都在第1行),和值10。笼B是一个2格笼,格子在第1行第3列和第2行第3列(一个在第1行,一个在第2行),和值8。
笼A的两个格子都在第1行,笼B有一个格子在第1行——所以笼A的数字和笼B在第1行的那个格子的数字不能重复(因为都在第1行)。
假设通过其他信息确定笼A是{1,9}。那么笼B在第1行的那个格子就不能是1或9——笼B的组合{1,7}包含1,排除!所以笼B只能是{2,6}或{3,5}。
关键点:即使两个笼子不完全在同一区域,只要它们有格子在同一行/列/宫,那些格子的数字就不能重复——可以用来排除组合。
3. 识别方法
- 看两个笼子是否有格子在同一行/列/宫
- 如果有——那些格子的数字不能重复
- 确定了一个笼子的数字后,检查另一个笼子的组合是否包含这些数字——包含的排除
四、类型三:相邻笼子互斥
1. 原理
“相邻笼子互斥”是指——当两个笼子相邻(共享边或角),且它们的格子在同一行/列/宫时,利用数字不重复的规则排除候选。
这其实是“重叠笼子互斥”的一种特殊情况——但因为相邻笼子很常见,单独拿出来讲。
更重要的是——相邻笼子之间还存在一种特殊的互斥:“见不得”的数字。比如一个笼子确定了某个数字,那么跟它同行/列/宫的相邻笼子就不能包含这个数字。
2. 具体例子
例子:第1宫(左上3x3)有两个相邻的2格笼:
- 笼A:在第1行第1-2列,和值10
- 笼B:在第1行第3列和第2行第3列,和值8
这两个笼子都在第1宫内——所以它们的数字都不能重复(第1宫内1-9各一个)。
假设笼A确定是{4,6}。那么笼B就不能包含4或6——笼B的组合{2,6}包含6,排除!所以笼B只能是{1,7}或{3,5}。
同时,笼A在第1行,笼B也有一个格子在第1行——第1行也不能重复,进一步验证。
进阶:如果笼A是{4,6},而笼B的组合是{1,7}或{3,5}——那么第1宫内已经确定的数字是4,6(笼A)加上笼B的两个数字(要么1,7,要么3,5)。第1宫还剩3个格子(不属于这两个笼子),它们的数字就是1-9中去掉已确定的数字。这可以用来求Innies(见文章7)。
3. 识别方法
- 看相邻的笼子是否在同一行/列/宫
- 如果在——它们的数字不能重复
- 确定了一个笼子的数字后,排除相邻笼子包含这些数字的组合
五、重复数字排除的综合应用(复杂例子)
让我们看一个综合应用的例子——把3种重复数字排除结合起来。
题目:第1行有3个笼子:
- 笼A:2格(第1行第1-2列),和值10,组合{1,9},{2,8},{3,7},{4,6}
- 笼B:2格(第1行第3-4列),和值7,组合{1,6},{2,5},{3,4}
- 笼C:2格(第1行第5列和第2行第5列),和值9,组合{1,8},{2,7},{3,6},{4,5}
这3个笼子中,笼A和笼B完全在第1行,笼C有1格在第1行。
假设通过其他信息确定:笼A的第1格(第1行第1列)是1。
推理过程:
- 笼A有一个格子是1——笼A是2格笼和值10,所以另一个格子是9(1+9=10)。笼A确定为{1,9}。
- 同区域笼子互斥:笼A和笼B都在第1行——第1行不能有重复数字。笼A已经有1和9了,所以笼B不能包含1或9。笼B的组合{1,6}包含1,排除!笼B剩下{2,5},{3,4}。
- 重叠笼子互斥:笼C有一个格子在第1行(第1行第5列)——这个格子也不能是1或9(第1行已有1和9)。笼C的组合{1,8}包含1,排除!笼C剩下{2,7},{3,6},{4,5}。
- 进一步排除:第1行已经有1和9(笼A),加上笼B的2个数字和笼C的1个数字——第1行已有5个数字了。还剩4个格子(第1行第6-9列),它们的数字是1-9中去掉已确定的5个数字。
- 如果继续收集信息(如其他行/列/宫的约束),可以进一步确定笼B和笼C的组合——重复数字排除帮我们把范围从4种缩小到了2-3种。
关键点:重复数字排除通常不能一次性确定答案——但能快速缩小范围,把组合数从4种减少到2-3种。再结合其他技巧(45法则、Innies/Outies、经典数独技巧),最终确定答案。
六、重复数字排除的练习建议
- 养成“看区域”的习惯:做杀手数独时,时刻关注每个格子在哪一行/列/宫——同一区域内数字不能重复,这是排除的基础
- 先确定数字多的笼子:重复数字排除需要先确定一些数字——所以先解容易的笼子(唯一组合、Innies/Outies能确定的),确定了数字后再用重复数字排除其他笼子
- 跟组合枚举结合:重复数字排除主要用来排除组合——所以要熟练掌握组合枚举(见文章6)
- 从简单的开始练:先练只有2个笼子的简单情况——熟悉排除方法。等熟练了,再练多个笼子的复杂情况
- 用铅笔标记:在题目上用铅笔标记每个笼子的可能组合——排除一个就划掉一个,清晰明了
七、常见问题
Q1:重复数字排除跟经典数独的排除法有什么区别?
A:经典数独的排除法是——某个数字在某行/列/宫只能放一个位置,所以排除其他位置。杀手数独的重复数字排除是——某个笼子确定了数字后,同一区域内的其他笼子不能包含这个数字,所以排除其他笼子的某些组合。两者本质相同(都是利用“数字不能重复”的规则),但应用场景不同——经典数独是排除格子,杀手数独是排除笼子的组合。
Q2:重复数字排除能确定数字吗?还是只能缩小范围?
A:大多数情况下,重复数字排除只能缩小范围(把组合数从4种减少到2-3种),不能一次性确定数字。但在某些特殊情况下(如排除后只剩1种组合),也能直接确定。重复数字排除通常跟其他技巧结合使用——它是“辅助技巧”,帮你快速缩小范围,然后用其他技巧最终确定。
Q3:我总是忘记用重复数字排除,怎么办?
A:忘记用是因为还不熟练——多练就能形成习惯。建议:(1)每确定一个笼子的数字,立刻检查同一行/列/宫内的其他笼子——排除包含这些数字的组合;(2)用铅笔在题目上标记每个笼子的可能组合——排除一个划掉一个;(3)开局先解容易的笼子(唯一组合、Innies/Outies),确定了数字后立刻用重复数字排除其他笼子。练得多了,就会形成条件反射。
八、总结
重复数字排除是杀手数独的重要技巧——利用“数字不能重复”的规则,排除笼子间的不可能组合。
3种类型:
- 同区域笼子互斥:同一行/列/宫内的多个笼子,数字不能重复——确定了一个笼子的数字,排除其他笼子包含这些数字的组合
- 重叠笼子互斥:两个笼子有格子在同一行/列/宫——那些格子的数字不能重复,用来排除组合
- 相邻笼子互斥:相邻笼子在同一行/列/宫——数字不能重复,排除组合
核心思想:每确定一个数字,立刻检查同一区域内的其他笼子——排除包含这个数字的组合。
作用:快速缩小候选范围——通常不能一次性确定答案,但能把组合数从4种减少到2-3种,为后续推理打下基础。
重复数字排除是杀手数独的“基础高级技巧”——掌握了它,你的推理效率会大大提升!