原理解说发布日期 阅读时间约 8 分钟

数独的显性数对和三链数是什么|配合区块摒除删除候选数的中级解法

基本解法填不出数字之后,就轮到“删除候选数”而不是“填入数字”的解法登场了。本文用实际盘面中的候选数,讲解数独的中级技巧:区块摒除(宫内摒除·行列摒除)、显性数对、隐性数对、显性三链数,并总结找到它们的诀窍。

中级解法的核心是“删除候选数”

在数独入门解法中介绍的隐性唯一数和显性唯一数,都是确定一个数字的解法。中级解法本身虽然不能直接确定数字,但能减少其他格子的候选数。候选数减少后,又能用上隐性唯一数或显性唯一数,这就是中级题目的解题流程。

解法别名形状可以删除的
区块摒除(宫内摒除)Pointing宫内某数字的候选排在同一行(列)该行(列)在宫外的同一数字
区块摒除(行列摒除)Claiming某行(列)的候选都在同一个宫里该宫其他格子里的同一数字
显性数对Naked Pair有两个格子的候选恰好都是同样的两个数字同一行·列·宫中其他格子里的这两个数字
隐性数对Hidden Pair两个数字只能填在同样的两个格子里这两个格子里的其他候选
显性三链数Naked Triple三个格子的候选合起来只有三个数字其他格子里的这三个数字

在数独下一步提示的难度标准中,需要区块摒除和显性数对的题目属于“困难”,需要隐性数对和三链数的题目属于“高级”。

区块摒除(宫内摒除):宫里的候选排成一条直线时

在某个宫里,如果某个数字的候选只在同一行(或同一列),那么这个数字无论填在宫里哪一格,都在这一行(列)上。于是,这一行(列)在宫外的格子都不能再填这个数字。来看实际盘面中右上宫里“5”的候选。

右上宫的格子数字·候选
第1行第7列·第1行第8列7·6(已填)
第1行第9列候选 1·5
第2行第7列候选 1·8
第2行第8列·第2行第9列4·3(已填)
第3行第7列·第3行第8列2·9(已填)
第3行第9列候选 5·8

“5”的候选在第1行第9列和第3行第9列,都在第 9 列。第 9 列的“5”会在这个宫里用掉,所以可以从宫外的第7行第9列(候选 5·7·8)中删除“5”。方向相反的行列摒除,则是当某行(列)的候选全部落在一个宫里时,从该宫的其他格子中删除。

显性数对:两个格子有同样的两个候选

同一行·列·宫中,如果有两个格子的候选恰好都只有同样的两个数字,那么这两个数字就“预定”给这两个格子了。即使不知道哪个填哪格,其他格子也不能填它们。下面是某个盘面中第 3 列空格的候选。

格子候选使用数对之后
第1行第3列1·5·6·81·8
第2行第3列1·4·81·4·8(没有变化)
第5行第3列5·65·6(数对)
第8行第3列5·65·6(数对)
第9行第3列4·5·6·84·8

第5行第3列和第8行第3列是“5·6”的数对,所以可以从同一列的第1行第3列和第9行第3列中删除 5 和 6。只要把候选只有两个的格子记下来,数对一眼就能看出来。在纸上解题时,把宫里只能填两处的数字成对记下,就是为了这个。

显性三链数:三个格子三个数字

把数对扩展到三个格子就是三链数。要注意的是,三个格子不必都有三个候选。只要三个格子的候选合起来只有三种数字就成立。某个盘面的第 7 列情况如下。

格子候选使用三链数之后
第1行第7列8·98·9(三链数)
第3行第7列5·85·8(三链数)
第8行第7列5·95·9(三链数)
第2行第7列5·6·7·96·7
第5行第7列2·3·4·52·3·4
第6行第7列4·54(确定)
第7行第7列2·3·5·7·92·3·7
第9行第7列2·5·62·6

“8·9”“5·8”“5·9”这三个格子各只有两个候选,合起来是 5·8·9 三种。三个格子三个数字,所以 5·8·9 会在这三个格子里用完。从同一列的其他格子中删除 5·8·9 后,第6行第7列确定为 4。按照同样的思路,还有三个数字只能填在同样三个格子里的“隐性三链数”。

找法的诀窍和查找顺序

  • 先找区块摒除:逐宫检查只能填 2〜3 处的数字是否排成一条直线。即使不写全部候选也容易发现
  • 再找显性数对:找候选只有两个的格子,看同一行·列·宫里有没有相同的组合
  • 隐性数对:在空格多的行·列·宫里,按数字数能填的位置
  • 三链数:在有 3 个以上候选为 2〜3 个的格子的行·列·宫里找
  • 每删除一个候选,就回头检查隐性唯一数和显性唯一数

数独下一步提示按本文的顺序(隐性唯一数→显性唯一数→区块摒除(宫内·行列)→显性数对→隐性数对→显性三链数→隐性三链数→X-Wing→剑鱼),从简单的一步开始找。提示第二层出现“显性数对”时,会附上格子位置显示可以删除的候选(如果打开了“显示候选数”,盘面上也会出现红色删除线),点“删除这些候选数”即可反映。用了中级技巧仍然推进不了时,可能需要X-Wing 和剑鱼。

常见问题

数独的“显性数对”是什么?
指在同一行·列·宫中,有两个格子的候选恰好都只有同样的两个数字时,这两个数字已确定要填在这两个格子里(被预定)的状态。可以从其他格子中删除这两个数字。也叫 Naked Pair。
三链数必须三个格子都有同样的三个候选吗?
不必。只要三个格子的候选合起来只有三种数字就成立。像“8·9”“5·8”“5·9”这样每格只有两个候选,也是三链数。
宫内摒除和行列摒除有什么区别?
宫内摒除(Pointing)是“宫里的候选排在同一行(列)”时,从该行(列)在宫外的格子删除;行列摒除(Claiming)是“行(列)的候选都在一个宫里”时,从该宫的其他格子删除。只是观察方向相反,两者都叫区块摒除(锁定候选数)。
找到了数对,数字却没有确定,这有意义吗?
有。数对和三链数是删除候选数的解法,当场确定不了数字的情况很多。删除之后,请检查同一行·列·宫里是否新出现了隐性唯一数或显性唯一数。

本文介绍的工具

相关文章

原理解说约 14 分钟

静息心率正常值与平均值|按年龄、性别的参考范围,心率偏高偏低的原因和正确测量方法

智能手表或体检报告上写着“静息心率 72”,可这到底算正常、偏高还是偏低,一时很难判断。常听说成人的正常范围是“60〜100次/分”,但同样在正常范围内,60 和 95 反映的身体状态差别很大;儿童和耐力运动员的参考范围更是完全不同。本文先按婴儿、幼儿、学龄儿童、成人的年龄段,以及性别和运动习惯整理静息心率的平均值和正常值,再介绍早上醒来后的正确测量方法和“数15秒乘4”的误差、手腕数脉搏·手机摄像头·智能手表的区别、心率偏高或偏低的可能原因和就医标准、降低静息心率的方法,以及如何用它算出卡氏公式的目标心率。年龄段参考范围和心率区间的数字,与心率测量工具使用相同的标准和公式。

阅读文章 →