一、“这个数字该填哪里?”——区块排除法是数独的“基本功”
做数独时,你会不断遇到这样的问题——“这个数字(如5)在这一宫(或这一行/列)应该填在哪里?”
回答这个问题最常用的方法就是区块排除法(也叫宫排除法)——根据行/列/宫不重复的规则,排除不可能的位置,最终确定数字应该填在哪里。
区块排除法是经典数独最基础、最常用的技巧——几乎每一道数独都要用到它。如果不会区块排除法,你连简单题都做不出来。但很多新手对区块排除法一知半解——只会最简单的“某行有5,所以这一行其他格子不能是5”,遇到复杂的区块排除(如“数字在某宫只能填在某行,所以该行其他宫的格子不能是这个数字”)就懵了。
本文用5个由浅入深的例子+大量示意图,彻底讲透区块排除法。读完这篇,你的区块排除法会从“会用”提升到“精通”。
二、区块排除法的基本原理
区块排除法的核心原理就是数独的基本规则——每行、每列、每宫包含1-9,且不重复。
基于这个规则,可以推导出:
- 如果某行已经有数字N,那么这一行的其他格子都不能是N
- 如果某列已经有数字N,那么这一列的其他格子都不能是N
- 如果某宫已经有数字N,那么这一宫的其他格子都不能是N
区块排除法就是利用这些“排除”,一步步缩小数字N可能填的位置,最终确定唯一位置。
【示意图1:基本原理。一个9×9网格,某行有一个5(黑色),用红色斜线划掉该行其他8个格子,标注“该行已有5→其他格子不能是5”。同样画出某列和某宫的排除。】
三、例子1:基础区块排除(行/列→宫)
难度:★☆☆☆☆(入门)
场景:看第一宫(左上3×3),数字5应该填在哪里?
【示意图2:例子1。第一宫(左上3×3)有6个空格。第一宫的上方(第二行)有一个5(黑色,在第二行第七列),第一宫的左侧(第二列)有一个5(黑色,在第五行第二列)。用红色斜线划掉第一宫中被这两个5排除的格子(第二行的3个格子被行5排除,第二列的3个格子被列5排除)。第一宫剩下3个空格,但其中2个已经有其他数字(如3和7),只剩下1个空格——这个空格就是5的位置。用绿色标出,填入5。】
推理过程:
- 看第一宫,找数字5的位置
- 第二行已经有5(在第二行第七列)→ 第一宫中第二行的3个格子都不能是5(行排除)
- 第二列已经有5(在第五行第二列)→ 第一宫中第二列的3个格子都不能是5(列排除)
- 第一宫剩下的空格中,排除已有其他数字的格子
- 只剩下1个空格 → 这个空格就是5 → 填入5
要点:这是最基础的区块排除——用行和列的已有数字,排除宫中的格子,最终确定数字的位置。新手必须熟练掌握这种基础排除。
四、例子2:反向区块排除(宫→行/列)
难度:★★☆☆☆(简单)
场景:数字5在第一宫只能填在第二行(第一宫中第一行和第三行的格子都被排除了),所以第二行的其他宫(第四宫、第七宫)的格子都不能是5。
【示意图3:例子2。第一宫(左上3×3)中,数字5只能填在第二行的某个格子(用黄色标出这3个格子,标注“5只能在这一行”——因为第一行和第三行的格子都被列排除了)。然后用红色斜线划掉第二行其他宫(第四宫、第七宫)的格子,标注“5在第一宫只能填第二行→第二行其他格子不能是5”。接着看第四宫,结合其他排除,确定5的位置。】
推理过程:
- 看第一宫,数字5可能填在哪里?
- 第一宫中第一行的格子被列排除(第一列和第三列都有5),第三行的格子也被列排除
- 所以5在第一宫只能填在第二行的3个格子中(虽然还不确定具体哪个,但确定在第二行)
- 因为5在第一宫一定在第二行 → 第二行的其他格子(第四宫、第七宫中的第二行格子)都不能是5(行不重复)
- 用这个排除,看第四宫——结合其他行/列排除,确定5在第四宫的位置
要点:反向区块排除是新手容易忽略的技巧——不是“行/列排除宫”,而是“宫排除行/列”。当数字在某宫只能填在某一行(或某一列)时,该行(或列)的其他宫的格子都不能是这个数字。这种技巧能帮你排除更多格子,找到突破口。
五、例子3:组合区块排除(行+宫+列)
难度:★★★☆☆(中等)
场景:同时用行排除、宫排除、列排除,组合确定数字的位置。
【示意图4:例子3。一个中等难度的数独局部,数字7的位置需要组合排除。第五行有7(行排除),第二列有7(列排除),第四宫有7(宫排除)。用不同颜色的斜线标出不同排除的范围,最终在第六宫确定7的唯一位置。用绿色标出,填入7。旁边标注“组合排除:行+列+宫,多维度夹击”。】
推理过程:
- 看第六宫(右中3×3),找数字7的位置
- 第四行已经有7 → 第六宫中第四行的3个格子不能是7(行排除)
- 第五行已经有7 → 第六宫中第五行的3个格子不能是7(行排除)
- 所以7在第六宫只能在第六行(反向区块排除)
- 第七列已经有7 → 第六宫中第七列的格子不能是7(列排除)
- 第八列已经有7 → 第六宫中第八列的格子不能是7(列排除)
- 第六宫第六行只剩下第九列的格子 → 这个格子就是7 → 填入7
要点:组合区块排除是指同时用多个维度(行、列、宫)的排除,“夹击”出数字的位置。这种技巧在中高级题中非常常见——单一维度的排除可能不够,但多个维度组合就能确定位置。做题时,不要只看一个维度,要同时考虑行、列、宫的排除。
六、例子4:区块排除+唯一余数
难度:★★★☆☆(中等)
场景:先用区块排除缩小范围,再用唯一余数(某个格子只剩一个候选数)确定数字。
【示意图5:例子4。一个格子(R5C5),用区块排除后,候选数只剩下{3,7}。然后看这个格子所在的行/列/宫,发现该行已经有3了(用红色标出),所以这个格子不能是3 → 只能是7(唯一余数)。用绿色标出,填入7。旁边标注“区块排除缩小范围→唯一余数确定值”。】
推理过程:
- 看格子R5C5(第五行第五列),用区块排除(行/列/宫已有数字),排除不可能的数字
- 排除后,候选数只剩下{3,7}
- 看第五行,已经有3了(在第五行第二列)→ R5C5不能是3(行排除)
- 所以R5C5只能是7 → 填入7(唯一余数)
要点:区块排除和唯一余数经常结合使用——区块排除帮你缩小候选数范围(如从9个缩小到2-3个),唯一余数帮你确定最终值(如从2个缩小到1个)。做题时,先用区块排除标记候选数,然后找候选数最少的格子(唯一余数),直接填入。这是最基础、最高效的解题流程。
七、例子5:高级区块排除(多宫联动)
难度:★★★★☆(较难)
场景:多个宫的反向区块排除联动,确定数字在某行/列的位置。
【示意图6:例子5。数字8在第一宫只能填第一行(反向排除),在第三宫只能填第一行(反向排除),所以第一行的8一定在第一宫或第三宫 → 第二宫的第一行格子不能是8。再结合第二宫的其他排除,确定8在第二宫的位置。用不同颜色标出各宫的排除范围,最终用绿色标出8的位置。】
推理过程:
- 看第一行,数字8应该填在哪里?
- 第一宫中,8只能填在第一行(反向区块排除——第二行和第三行都被列排除了)
- 第三宫中,8只能填在第一行(反向区块排除)
- 所以第一行的8一定在第一宫或第三宫 → 第二宫中第一行的格子不能是8(因为8已经在第一行的第一宫或第三宫了)
- 看第二宫,8的位置——第一行不能是8(上面的排除),第二行和第三行结合列排除,最终确定8的位置
要点:高级区块排除是指多个宫的反向排除联动——当数字在多个宫都只能填在同一行(或列)时,该行(或列)的其他宫就不能是这个数字。这种技巧在高级题中使用,能排除更多格子,找到隐蔽的突破口。新手可以先掌握基础和反向区块排除,熟练后再练习这种高级联动。
八、区块排除法速查表
| 类型 | 原理 | 方向 | 难度 |
|---|---|---|---|
| 基础区块排除 | 行/列已有数字N→宫中该行/列的格子不能是N | 行/列→宫 | ★☆☆☆☆ |
| 反向区块排除 | 宫中数字N只能在某行/列→该行/列其他宫的格子不能是N | 宫→行/列 | ★★☆☆☆ |
| 组合区块排除 | 同时用行+列+宫的排除,夹击出位置 | 多维度 | ★★★☆☆ |
| 区块排除+唯一余数 | 区块排除缩小范围→唯一余数确定值 | 组合 | ★★★☆☆ |
| 高级区块排除(多宫联动) | 多个宫的反向排除联动,确定数字在某行/列 | 宫→行/列(多宫) | ★★★★☆ |
九、常见错误
错误1:排除不完整(漏掉某些行/列/宫)
表现:只看了行排除,没看列排除;或者只看了一个宫,没看其他宫。导致排除不完整,以为有多个可能位置,实际只有一个。
避免:排除时按顺序——先看行,再看列,最后看宫,确保每个维度都考虑到。
错误2:忽略反向区块排除
表现:只会“行/列排除宫”,不会“宫排除行/列”,导致很多突破口找不到。
避免:养成习惯——看到数字在某宫只能填在某行/列时,立刻想到“该行/列其他宫不能是这个数字”。
错误3:排除后不更新候选数
表现:排除了某些候选数,但没有在格子里更新(擦除),导致候选数过时。
避免:用铅笔标记候选数,排除后立刻擦除,保持候选数最新。
十、总结
区块排除法是经典数独最基础、最常用的技巧——几乎每一道数独都要用到它。掌握了区块排除法,你就能解决大多数简单和中等难度的数独。
5个层次的区块排除:
- 基础区块排除:行/列→宫(入门,必须熟练)
- 反向区块排除:宫→行/列(简单,新手容易忽略)
- 组合区块排除:行+列+宫(中等,多维度夹击)
- 区块排除+唯一余数:缩小范围+确定值(中等,最高效的解题流程)
- 高级区块排除:多宫联动(较难,高级题使用)
核心建议:
- 排除时按顺序(行→列→宫),确保不遗漏
- 不要忽略反向区块排除(宫→行/列)——这是很多突破口的关键
- 区块排除后,找唯一余数(候选数只剩1个的格子),直接填入
- 用铅笔标记候选数,排除后立刻更新
- 多练习——区块排除是基本功,练到本能反应,解题速度会大大提升
区块排除法就像木匠的“锤子”——是最基础、最常用的工具。把这个工具练熟,你就能搭建起数独的“高楼大厦”。