数独隐性数对(Hidden Pair):怎样发现和使用

隐性数对(Hidden Pair)是指两个数字在某一行、某一列或某一宫里只能填在同样的两个格子里。这两格一定填这两个数字,所以可以把两格里的其他候选数全部排除。候选数就是一个格子里还能填的数字。

之所以叫隐性,是因为这两个格子通常还有其他候选数,这两个数字并不显眼。排除其他候选数之后,两格只剩下这两个数字,看起来就是一个显性数对(Naked Pair)。

隐性数对的规则

本文把一行、一列或一宫统称为一个区域。每个区域里,1 到 9 每个数字都要恰好出现一次。隐性数对需要满足三个条件:

  1. 选一个区域。
  2. 找一个在这个区域里恰好只有两个格子可填的数字。
  3. 再找第二个数字,它可填的恰好也是这两个格子,在区域的其他格子里都不是候选数。

这条规则为什么成立?两个数字都必须出现在这个区域里,而它们各自都只有这两个格子可填。所以一格填第一个数字,另一格填第二个数字。现在还不知道谁填哪格,但两个格子都已经被占了。任何第三个数字都不可能再填进这两格,所以两格里的其他候选数都可以排除。

一句话记住规则

两个数字,同样的两个格子,一个区域:把这两格里的其他候选数全部排除。

真实例题,一步一步看

这块棋盘的每个空格都标出了此刻剩下的候选数。看第3列。它已经有三个数字:R2C3 的 5、R6C3 的 9 和 R7C3 的 1,另有六个空格。还缺的数字是 2、3、4、6、7 和 8。

使用隐性数对之前的数独棋盘。每个空格都标出了剩下的候选数。第3列有六个空格。3479138347815789579189261479467918512678926791268917931479679267431698517945582482561756931356232598294171571579345646156282416789679537867989367126724671234615714712567356735367126789246791234689179147812679C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
使用隐性数对之前的局面。每个空格都标出了剩下的候选数。
  • 5 提示数
  • 5 已填好
  • 5 新填的数字
  • 5 构成结构的候选数
  • 5 可排除的候选数

来自 Sudoku Royale 谜题库的第 201056 题,用更简单的技巧一路解到这个局面。 更简单的技巧此前已排除的候选数,这里不再显示。

数一数每个数字能填几格

不要一格一格地读这一列。把还缺的数字一个个拿出来,数一数它在第3列的哪些格子里是候选数:

  • 2 能填两格:R4C3 和 R5C3。
  • 3 能填四格:R1C3、R5C3、R8C3 和 R9C3。
  • 4 能填两格:R1C3 和 R4C3。
  • 6 能填三格:R3C3、R8C3 和 R9C3。
  • 7 能填四格:R1C3、R3C3、R8C3 和 R9C3。
  • 8 能填两格:R1C3 和 R4C3。

数字 4 和 8 可填的是同样的两格,R1C3 和 R4C3,在第3列的其他格子里都不能填。这就是 4 和 8 的隐性数对。数字 2 也恰好有两格可填,但不是同样的两格,所以 2 不属于这个数对。

排除其他候选数

R1C3 的候选数是 3、4、7 和 8。R4C3 的候选数是 2、4 和 8。这两格一个是第3列的 4,另一个是第3列的 8。所以把 R1C3 的 3 和 7 排除,把 R4C3 的 2 排除。现在两格都只剩下 4 和 8。

第3列中 4 和 8 的隐性数对。数字 4 和 8 只能填在 R1C3 和 R4C3。R1C3 的候选数 3 和 7 被排除,R4C3 的候选数 2 被排除。3479138347815789579189261479467918512678926791268917931479679267431698517945582482561756931356232598294171571579345646156282416789679537867989367126724671234615714712567356735367126789246791234689179147812679C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
第3列中 4 和 8 的隐性数对。R1C3 和 R4C3 两个格子被高亮。划掉的候选数被排除:R1C3 的 3 和 7,以及 R4C3 的 2。

接下来怎么走

隐性数对本身不能直接填出数字,但它排除的候选数常常会带出下一步。再数一遍第3列的数字 2。使用隐性数对之前,2 能填在 R4C3 和 R5C3。R4C3 的 2 没有了,R5C3 就成了第3列唯一能填 2 的格子。这是一个隐性唯一数(Hidden Single):在 R5C3 填入 2。

使用隐性数对之后,R5C3 是第3列唯一能填 2 的格子,所以在这里填入 2。347913848157895791892614794679185126789267912689179314796792674316985179455848256175693135622598294171571579345646156282416789679537867989367126724671234615714712567356735367126789246791234689179147812679C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
排除之后,R5C3 是第3列唯一能填 2 的格子。

试试 Sudoku Royale

你熟悉的经典数独,没有广告,没有弹窗,没有杂乱。每天一道全新的每日挑战,不计时的无限练习,还有技巧特训。想要刺激时,可以在同一块棋盘上和 2 至 18 名玩家竞速。

免费下载 Sudoku Royale(iOS)

隐性数对与显性数对

显性数对是两个格子里只有相同的两个候选数。它把这两个数字从区域的其他格子中排除。隐性数对的方向正好相反:它排除的是自己那两个格子里的其他候选数。

不过,这两种结构其实是同一个事实的两种看法。一个区域里有隐性数对时,它的其他空格一定构成一个显性数组:几个格子合起来的不同候选数,个数正好等于格子数。例题里,第3列的另外四个空格是 R3C3、R5C3、R8C3 和 R9C3。它们合起来只有 2、3、6 和 7 这四个数字。这四个数字填满这四个格子,所以 2、3 和 7 不可能在 R1C3 或 R4C3。得到的排除结果完全一样。

四个格子的显性数组很难看出来,两个数字的隐性数对要好找得多。在每个区域里,都去找两种结构中较小的那一个。

怎样寻找隐性数对

你要检查的那个区域必须有完整的笔记 (英文)。然后这样找:

  1. 按数字数,不要按格子数。 对区域里每个还缺的数字,数一数它在几个格子里是候选数。显性数对看格子就能发现,隐性数对只有看数字才能发现。
  2. 留下恰好有两格可填的数字。 只有这些数字才可能是隐性数对的一员。
  3. 比较它们的格子。 如果其中两个数字可填的是同样的两格,你就找到了隐性数对。
  4. 先看空格多的区域。 隐性数对最常出现在每个格子都有三个或更多候选数的地方。

在宫里还有更快的办法。如果你用斯奈德标记法 (英文)(Snyder Notation),只有当一个数字在宫里恰好有两个可填的格子时才会把它写上。同一个宫里,写在同样两个格子里的两个数字就是隐性数对。

在 Dojo 里练习隐性数对

Sudoku Royale 的 Dojo 为这项技巧准备了简短的课程和特训:一盘接一盘,下一步正是用到它。你的纪录是连续答对的最快一次,还能和其他玩家比一比。在 iPhone 上打开隐性数对特训,或阅读Dojo 的玩法 (英文)。

免费下载 Sudoku Royale(iOS)

常见错误

  • 排除的格子不对。 隐性数对排除的是自己两个格子里的候选数。显性数对排除的是其他格子里的候选数。这两个方向很容易弄混。
  • 某个数字还有第三格可填。 两个数字中只要有一个在区域的第三个格子里也是候选数,隐性数对就不成立,什么都不能排除。
  • 两个数字的格子不一样。 每个数字各有两格可填还不够,必须是同样的两格。例题里,2 和 4 在第3列都有两格可填,但它们只共用 R4C3。

什么时候找隐性数对,接下来学什么

隐性数对属于中等和困难的谜题。唯一数、指向对(Pointing Pairs)和显性数对都推不动了,再去找它。简单的技巧更快,所以一定要先试它们。

同样的思路也能用在三个数字上。显性三数组(Naked Triple)是共用三个数字的三个格子,隐性三数组(Hidden Triple)是只能填在三个格子里的三个数字。想知道每个技巧处在什么位置,可以看数独技巧完整列表 (英文)。

常见问题

数独里的隐性数对是什么?

隐性数对是指两个数字在某一行、某一列或某一宫里只能填在同样的两个格子里。这两格一定填这两个数字,所以两格里的其他候选数都可以排除。

隐性数对能排除什么?

把数对的两个格子里除了这两个数字以外的候选数全部排除。区域里的其他格子不变。排除之后,这两格看起来就是一个显性数对。

隐性数对和显性数对有什么区别?

显性数对是两个格子里只有相同的两个候选数,它把这两个数字从区域的其他格子中排除。隐性数对是两个数字只能填在同样的两个格子里,它把这两格里的其他候选数排除。

隐性数对比显性数对难吗?

大多数玩家觉得更难,因为你得去数每个数字能填几格,而不是直接看到两个长得一样的格子。两者的逻辑相同:有隐性数对的地方,同一个区域的其他空格里一定有一个显性数组。

试试 Sudoku Royale

在 App Store 免费下载
Sudoku Royale:经典数独,没有广告,想玩时还有实时对战免费下载