宫区块对行列摒除

Box/Line Reduction

★★ 中级

概要:宫区块对行列摒除(Box/Line Reduction)是中级数独的重要技法。当一个 3×3 宫内某数字的所有候选格恰好集中在同一行或同一列时,该行/列在宫外的部分就不可能出现这个数字,从而实现摒除。

什么是宫区块对行列摒除?

宫区块对行列摒除(Box/Line Reduction),是中级数独中最常用的摒除技法之一。

它的核心逻辑是:在一个 3×3 宫格中,如果某个数字的所有候选位置恰好都落在同一行(或同一列),那么这一行(或这一列)在该宫之外的其他格子就不可能填这个数字。

直觉理解:这个数字最终必然会落在这一行/列上(因为宫里只有这一行/列能放),所以行/列上其他宫的同行/列格子就被排除了。

为什么这个技法有效?

数独规则要求每个数字在每行、每列、每宫各出现一次。

如果宫 A 中数字 X 的所有候选格都在第 3 行,那么 X 必定出现在宫 A 的第 3 行某格。既然第 3 行已经有了 X,第 3 行在其他宫中的格子就都不能再填 X。

解题步骤

  1. 选择一个宫:选定一个 3×3 宫格作为分析起点
  2. 标记候选数:找出该宫中还未填入的数字,逐一标记每个数字的候选格
  3. 检查行列对齐:观察某个数字的所有候选格,是否全部集中在同一行或同一列
  4. 确认对齐:如果是,说明该数字在这个宫中只能出现在这行/列上
  5. 执行摒除:将该行/列上,位于宫外的其他格子中的这个候选数删除
  6. 继续推导:摒除后可能产生新的唯一候选数,继续解题

示例详解

步骤 1:棋盘总览

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9
观察棋盘:已知数字和所有空格的候选数。

步骤 2:观察第 6 宫(第 4-6 行、第 7-9 列)。我们来追踪数字 9 在这个宫内的候选数分布,同时关注第 7 列。

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9
观察第 6 宫(第 4-6 行、第 7-9 列)。我们来追踪数字 9 在这个宫内的候选数分布,同时关注第 7 列。

步骤 3:在第 6 宫中,数字 9 只出现在两个格子的候选数中:R4C7 只有 {9},R5C7 有 {8, 9}。它们都在...

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9
在第 6 宫中,数字 9 只出现在两个格子的候选数中:R4C7 只有 {9},R5C7 有 {8, 9}。它们都在第 7 列!

步骤 4:确认:数字 9 在第 6 宫内只能出现在第 7 列的 R4C7 和 R5C7。无论 9 最终在哪个格子,它都在第 ...

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9
确认:数字 9 在第 6 宫内只能出现在第 7 列的 R4C7 和 R5C7。无论 9 最终在哪个格子,它都在第 7 列——这就是区块摒除!

步骤 5:既然第 6 宫的 9 锁定在第 7 列,第 7 列中宫外的格子就不可能再有 9。可以消除 R1C7、R2C7、R7...

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9 9 9 9 9
既然第 6 宫的 9 锁定在第 7 列,第 7 列中宫外的格子就不可能再有 9。可以消除 R1C7、R2C7、R7C7、R9C7 的候选数 9。

步骤 6:区块摒除有两个方向。"指向"(Pointing):宫内某数字只在一行/列 → 消除该行/列宫外部分。"占位"(Cl...

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9
区块摒除有两个方向。"指向"(Pointing):宫内某数字只在一行/列 → 消除该行/列宫外部分。"占位"(Claiming):行/列中某数字只在一个宫内 → 消除该宫内其他行/列的该数字。

步骤 7:本例是"指向":第 6 宫的 9 指向第 7 列,因此第 7 列中不属于第 6 宫的格子不能有 9。这是宫与行列之...

6 5 3 6 8 2 7 8 2 1 4 5 2 5 7 1 4 5 9 3 6 7 9 2 5 6 7 3 8 2 1 2 7 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 8 9 1 3 5 8 9 4 8 9 1 2 7 1 4 7 8 9 1 4 7 9 1 3 4 7 1 2 3 4 5 9 3 4 7 9 1 4 5 6 8 9 1 3 5 6 8 9 4 8 9 1 4 9 1 4 9 1 9 3 6 7 9 3 7 3 6 9 3 6 9 3 6 9 3 4 6 8 8 9 1 7 8 7 2 8 1 3 6 1 4 5 1 3 4 6 1 3 4 8 3 4 9 1 4 5 6 8 9 1 2 5 6 8 9 2 4 8 9 1 4 1 4 8 1 8 1 3 6 7 1 4 5 7 1 3 4 1 3 4 9 1 4 5 6 9 1 5 6 9 4 9 9 9 9 9
本例是"指向":第 6 宫的 9 指向第 7 列,因此第 7 列中不属于第 6 宫的格子不能有 9。这是宫与行列之间的交叉推理。

以下是一个典型场景:

考虑左上宫(第 1-3 行,第 1-3 列)。假设宫内已填入 1、2、5、6、9,缺少 3、4、7、8。

现在分析数字 7

  • 宫内空格有:R1C2、R1C3、R2C1、R3C3
  • R2C1 所在的第 2 行已有 7 → R2C1 排除
  • R3C3 所在的第 3 列已有 7 → R3C3 排除
  • 剩余候选格:R1C2R1C3

两个候选格都在第 1 行!这就是宫区块对行列摒除的触发条件。

结论:数字 7 在左上宫中必然出现在第 1 行。因此,第 1 行中,属于中上宫和右上宫的所有格子(R1C4、R1C5、R1C6、R1C7、R1C8、R1C9)都可以删除候选数 7。

如果 R1C5 原本有候选数 7,删除后 R1C5 的候选数减少,可能触发进一步的推导。

实用技巧

  • 优先分析候选数少的宫:一个宫里填入的数字越多,剩余候选格越少,越容易出现行列对齐的情况
  • 借助候选数标记:在题目较难时,建议先用铅笔模式填写所有格子的候选数,再从整体上观察行列对齐
  • 注意列方向:同样的逻辑适用于列方向——如果宫内某数字的候选格全在同一列,可以摒除该列宫外的候选数
  • 与行列摒除配合:宫区块对行列摒除产生的摒除效果,常常触发行列区块对宫摒除,两者可以形成连锁

与其他技法的关系

  • 前置技法宫摒除唯一候选数——需要先熟练运用宫摒除,理解宫内数字位置分析的思路
  • 镜像技法行列区块对宫摒除——与本技法互为镜像,方向相反但原理相同
  • 进阶路径:掌握这两种区块摒除后,可以进一步学习显性数对,向更高级的候选数技法迈进

常见问题

Q:宫区块对行列摒除和宫摒除有什么区别?

A:宫摒除是在宫内找到某数字只有一个候选位置,直接确定答案。宫区块对行列摒除则不直接填数,而是通过”候选格集中在同一行/列”这一结构特征,去摒除宫外该行/列的候选数,间接缩小其他格子的候选范围。

Q:如果候选格分布在两行两列,能用这个技法吗?

A:不能。本技法的触发条件严格要求所有候选格必须在同一行或同一列。如果分布在两行或两列,则需要考虑显性数对显性数组等技法。

在爱九宫数独中练习

打开爱九宫数独 App → 学习 → 中级技法 → 宫区块对行列摒除,可以找到专项练习题目。建议先确保熟练掌握宫摒除和行列摒除,再进行本技法的针对性训练,效果最佳。