原理说明
宫隐性单数的原理是:对于某一个宫(3x3方格),如果一个数字在该宫内所有空格中,只有唯一一个格子可以合法放置该数字(即不受所在行和列排除),那么该格子必定填入此数字。
某数字在某宫中只能放在一个位置,该位置即可确定填入该数字。
宫隐性单数的原理是:对于某一个宫(3x3方格),如果一个数字在该宫内所有空格中,只有唯一一个格子可以合法放置该数字(即不受所在行和列排除),那么该格子必定填入此数字。
宫隐性单数在宫约束较强的区域特别有效,例如宫内已有较多已知数字时,常常能迅速定位唯一合法位置。在入门到进阶的解题中,它是不可或缺的基础策略。
宫隐性单数的核心逻辑基于数独的基本规则:每一个3×3宫中,数字1到9必须各出现一次。因此,对于某宫中尚未出现的数字N,它最终必定填入该宫的某个空格中。我们只需排除所有不可能的位置,剩下的那个就是答案。
已知条件:
我们逐一检查宫B中的每个空格(宫内最多9个格子,分布在3行3列上):
宫隐性单数的特殊优势在于"排除效率高":宫内同行或同列的3个格子会被一次性排除,因此只需1-2个行或列的排除条件,就可能将9个格子缩减到唯一一个。这也是宫隐性单数在实战中往往比行、列隐性单数更容易被发现的原因。
宫内其他空格全部因为所在行已有数字N而被排除。由于宫内只有3行,最多2个行排除条件就能排除6个格子,效率极高。这种形态在行约束较强的局面中非常常见。
宫内其他空格全部因为所在列已有数字N而被排除。与纯行排除型对称,只是排除方向从行变为列。在列约束较强的局面中容易出现。
部分空格因行排除,部分因列排除,综合下来只剩一个合法位置。这是最常见的实际形态,行和列的排除条件交叉作用,往往能迅速将候选范围缩小到唯一一格。
当宫内已填数字较多、空格只剩2-3个时,隐性单数几乎必然存在——因为剩余数字少,每个数字的合法位置都很有限。这种形态最易识别,是初学者最先应该关注的场景。
误区一:只检查行或只检查列
宫隐性单数需要同时检查行排除和列排除两个条件。只检查行会遗漏因列排除而成立的隐性单数,反之亦然。两个方向的约束缺一不可。
误区二:混淆宫内已知数字的排除作用
在检查宫B中数字N的位置时,宫内已有的数字N会直接排除"该宫不能再放N"——但这不需要额外检查,因为宫内已有N意味着N已经放好了。真正需要检查的是宫外的行和列中是否已有N,来排除宫内对应的空格。
误区三:把宫隐性单数和区块排除混淆
宫隐性单数是"某数字在该宫只有一个位置",结果是直接确定填入。而区块排除(Locked Candidates)是"某数字在该宫中只出现在同一行或同一列的格子里",结果是排除该行或列在宫外的候选数。两者都从宫视角出发,但结论不同,初学者容易混淆。
误区四:忽略宫内已填格子
扫视宫内空格时,要注意区分空格和已填数字格。已填数字格不参与隐性单数的排查。粗心时容易把已填格也算作空格,导致统计错误。
宫隐性单数与行隐性单数、列隐性单数构成隐性单数家族的三个方向变体,三者逻辑完全一致,只是扫视的"容器"从行变为列再变为宫。在实际解题中,宫隐性单数往往是最先被发现的——因为宫只有3×3共9格,扫视范围小、效率高,且行和列的排除条件能交叉作用于宫内多个格子。宫视角也是区块排除(Locked Candidates)策略的核心出发点:当某数字在某宫中只出现在同一行或同一列的格子里时,可以排除该行或列在宫外的候选数。可以说,宫隐性单数是从"基础确定性"迈向"区块推理"的天然桥梁。
策略家族关系: