要点
  • 每个空格最初有最多9个候选数;你的目标是排除到只剩一个
  • 最简单的排除:一个数字如果已经出现在同一行、列或宫中,则它不能作为候选数出现在其他单元格中
  • 裸集和隐集可以同时从一组单元格中排除候选数
  • 锁定候选数基于宫的约束,从整行或整列中排除一个数字
  • 更多排除 = 更少候选数 = 更多确定单元格 = 更快解题

第1级:直接排除

最基本的排除:如果数字5已经出现在第3行,那么5就不能作为第3行中任何其他空格的候选数。对所有已知数字,在全部三种单元类型(行、列、宫)中应用这一规则,你就掌握了所有数独解题的基础。

直接排除后,任何只剩一个候选数的单元格就是裸单——立即填入该数字,并将其排除效果传播到其同行、同列、同宫单元格。

第2级:交叉扫描

选择一个数字。对于每个宫,利用已经包含该数字的行和列来排除宫内的单元格。如果宫内只剩一个单元格,那就是一个填入。如果该数字在宫内只限于一行或一列,那就是一个锁定候选数——该数字不能出现在该行或该列的其他位置。

第3级:裸子集

当一个单元中的N个单元格恰好共享N个候选数时,这N个候选数不能出现在该单元的其他任何单元格中。常见例子:

  • 裸对:两个单元格有相同的两个候选数——从该单元的其他单元格中排除这两个候选数
  • 裸三:三个单元格共享三个候选数——从该单元的其他单元格中排除这三个候选数

第4级:隐子集

当一个单元中的N个候选数只能出现在N个单元格中时,这些单元格就不能再有其他候选数。与裸子集的区别:你关注的是候选数可以出现在哪里,而不是单元格有哪些候选数。

  • 隐单:一个候选数在单元中只限于一个单元格——立即填入
  • 隐对:两个候选数只限于两个单元格——从这两个单元格中移除所有其他候选数

第5级:交集排除

当一个宫中的候选数只限于一行或一列时,它可以从该行或该列在宫外的其他位置排除。这双向都成立:如果一行中的候选数只限于一个宫,则它可以从该宫的其他位置排除。

养成习惯

快速准确解题的关键是系统地应用这些排除法,而不是随机使用。一个好的工作流程:填入铅笔标记 → 应用裸单 → 应用隐单 → 检查锁定候选数 → 寻找对子 → 重复。完整技巧库中有每个级别的实例。在实时困难谜题中练习,通常需要用到所有五个级别。