经典数独数对与数组图文教程:Naked Pair/Triple/Quad从入门到精通

1“排除法用完了,还是卡住……”—2数对/数组的基本原理3显性数对4隐性数对5显性数组6隐性数组7数对/数组的识别流程8数对/数组+区块排除的组合9常见错误
本文内容导览

一、“排除法用完了,还是卡住……”——数对/数组是进阶的关键

做数独时,你可能会遇到这种情况——

  • 区块排除法都用完了,唯一余数也找了,但还是有很多格子填不出来
  • 每个格子的候选数都是2-3个,无法确定
  • “这道题是不是只能试数了?”

其实,很多时候不需要试数——你只是还没掌握数对/数组技巧。数对/数组是经典数独进阶技巧中最重要的一类,能帮你在区块排除法之外找到新的突破口,排除更多候选数,最终确定数字。

但很多新手对数对/数组一知半解——

  • “数对是什么?两个格子候选数一样?”
  • “显性数对和隐性数对有什么区别?”
  • “数组就是三个格子候选数一样吗?”
  • “怎么找数对/数组?我总是找不到。”

本文用大量示意图+实际例子,彻底讲透数对与数组——显性数对、隐性数对、显性数组、隐性数组,以及怎么找、怎么用。读完这篇,你会熟练使用数对/数组,解题能力更上一层楼。

252537815945
显性数对:浅蓝两格候选完全相同({2,5}),占死了这两个数字,所在行列宫的其他格可排除2和5

二、数对/数组的基本原理

数对/数组的核心原理是——如果某行/列/宫中,有n个格子的候选数恰好是n个数字(或子集),那么这n个数字一定填在这n个格子里,该行/列/宫的其他格子都不能是这n个数字。

简单说:

  • 数对(n=2):2个格子的候选数都是{a,b}(或子集)→ 这2个格子一定是a和b → 其他格子不能是a或b
  • 数组(n=3/4):3个格子的候选数都是{a,b,c}(或子集)→ 这3个格子一定是a、b、c → 其他格子不能是a、b或c

【示意图1:基本原理。某一行有9个格子,其中2个格子的候选数都是{3,5}(用蓝色标出)。用红色斜线划掉该行其他格子的候选数3和5。旁边标注“数对:2格都是{3,5}→这2格是3和5→其他格排除3和5”。】

为什么这个原理成立?因为这n个格子只能填这n个数字(候选数只有这些),而n个格子需要填n个不同的数字(行/列/宫不重复),所以这n个数字恰好填在这n个格子里。既然这n个数字已经被这n个格子“占用”了,其他格子就不能再是这n个数字了。

三、显性数对(Naked Pair)——最基础的数对

定义:某行/列/宫中,有2个格子的候选数完全相同,且都只有2个候选数。这2个格子就是显性数对。

【示意图2:显性数对。某一行有2个格子,候选数都是{3,5}(用蓝色标出,每个格子里都写着小候选数3和5)。用红色斜线划掉该行其他格子的候选数3和5。旁边标注“显性数对:2格候选数完全相同(都是{3,5})→排除其他格的3和5”。】

推理过程:

  • 在某行/列/宫中,找到2个候选数完全相同的格子(都是{a,b})
  • 这2个格子一定是a和b(虽然还不确定哪个是a、哪个是b)
  • 所以该行/列/宫的其他格子都不能是a或b
  • 擦除其他格子的候选数a和b
  • 擦除后,可能出现新的唯一余数(某个格子只剩1个候选数),直接填入

例子:

【示意图3:显性数对例子。某一行有9个格子,格子R1C2和R1C5的候选数都是{4,7}(显性数对)。该行其他格子中,R1C8的候选数是{4,6,9}——擦除4后,候选数变成{6,9}。R1C9的候选数是{2,4,7}——擦除4和7后,候选数变成{2}(唯一余数),直接填入2。用绿色标出R1C9=2。】

要点:显性数对是最基础、最容易识别的数对——2个格子候选数完全相同。新手必须熟练掌握。找到显性数对后,排除其他格子的这2个候选数,经常能触发唯一余数(直接填数字)。

四、隐性数对(Hidden Pair)——最容易忽略的数对

定义:某行/列/宫中,有2个数字只能填在2个格子里(其他格子都没有这2个候选数),那么这2个格子就是隐性数对——这2个格子的其他候选数都可以擦除(因为这2个格子只能是这2个数字)。

【示意图4:隐性数对。某一行有9个格子,数字3和5只在2个格子(R1C3和R1C7)的候选数里出现(用黄色标出这2个格子,其他格子都没有3和5)。这2个格子的候选数分别是{3,5,8}和{2,3,5}——擦除其他候选数(8和2),变成{3,5}和{3,5}(显性数对)。旁边标注“隐性数对:3和5只能在这2格→擦除这2格的其他候选数→变成显性数对”。】

推理过程:

  • 在某行/列/宫中,找2个数字,它们只在2个格子的候选数里出现(其他格子都没有这2个数字)
  • 这2个数字一定填在这2个格子里(因为其他格子不能是这2个数字)
  • 所以这2个格子只能是这2个数字——擦除这2个格子的其他候选数
  • 擦除后,这2个格子变成显性数对(候选数都是这2个数字)
  • 然后就可以像显性数对一样,排除其他格子的这2个候选数

显性数对 vs 隐性数对:

类型识别方式动作
显性数对2个格子候选数完全相同排除其他格子的这2个候选数
隐性数对2个数字只在2个格子里出现擦除这2个格子的其他候选数(变成显性数对)

要点:隐性数对比显性数对难识别——因为它不是“2个格子候选数相同”,而是“2个数字只在2个格子里出现”。很多新手会忽略隐性数对,导致卡住。做题时,除了找显性数对,还要找隐性数对——对每个数字,看它在某行/列/宫只能填在哪些格子里,如果2个数字都只能填在同样的2个格子里,就是隐性数对。

五、显性数组(Naked Triple/Quad)——数对的扩展

定义:某行/列/宫中,有n个格子(n=3或4)的候选数都是某n个数字的子集(不一定完全相同,但都只包含这n个数字)。这n个格子就是显性数组。

注意:显性数组的候选数不一定完全相同——只要都只包含这n个数字就行。例如3个格子的候选数分别是{3,5}、{5,7}、{3,7}——都只包含{3,5,7}这3个数字,所以是显性数组(Triple)。

【示意图5:显性数组(Triple)。某一行有3个格子,候选数分别是{3,5}、{5,7}、{3,7}(用蓝色标出)。它们都只包含{3,5,7}这3个数字。用红色斜线划掉该行其他格子的候选数3、5、7。旁边标注“显性数组:3格候选数都是{3,5,7}的子集→这3格是3、5、7→其他格排除3、5、7”。】

推理过程:

  • 在某行/列/宫中,找到n个格子(n=3或4),它们的候选数都只包含某n个数字(子集)
  • 这n个格子一定是这n个数字(虽然还不确定具体哪个是哪个)
  • 所以该行/列/宫的其他格子都不能是这n个数字
  • 擦除其他格子的这n个候选数

显性数组的常见形式:

  • 完全相同:3个格子候选数都是{3,5,7}(最明显)
  • 两两组合:3个格子候选数分别是{3,5}、{5,7}、{3,7}(最常见,容易忽略)
  • 混合:3个格子候选数分别是{3,5,7}、{3,5}、{5,7}(也可以)

要点:显性数组(特别是Triple)比数对难识别——因为候选数不一定完全相同,可能是子集。很多新手会忽略“两两组合”形式的显性数组(如{3,5}、{5,7}、{3,7})。做题时,看到3个格子的候选数都只包含同样的3个数字(不管是完全相同还是子集),就要想到显性数组。

六、隐性数组(Hidden Triple/Quad)——最难识别的数组

定义:某行/列/宫中,有n个数字(n=3或4)只能填在n个格子里(其他格子都没有这n个候选数),那么这n个格子就是隐性数组——这n个格子的其他候选数都可以擦除。

隐性数组是隐性数对的扩展——把“2个数字”换成“3个或4个数字”。

【示意图6:隐性数组(Triple)。某一行有9个格子,数字3、5、7只在3个格子(R1C2、R1C5、R1C8)的候选数里出现(用黄色标出这3个格子)。这3个格子的候选数分别是{3,5,8}、{2,5,7}、{3,4,7}——擦除其他候选数(8、2、4),变成{3,5}、{5,7}、{3,7}(显性数组)。旁边标注“隐性数组:3、5、7只能在这3格→擦除其他候选数→变成显性数组”。】

要点:隐性数组是最难识别的数组技巧——需要对每个数字看它在某行/列/宫只能填在哪些格子里,然后找3个或4个数字都只能填在同样的格子里。这种技巧在高级题中使用,新手可以先掌握显性数对/数组和隐性数对,熟练后再练习隐性数组。

七、数对/数组的识别流程

怎么系统地找数对/数组?按以下流程:

1标记候选数用区块排除法标记所有空格的候选数2找显性数对扫每行/列/宫,找2个候选数完全相同的格子3找显性数组扫每行/列/宫,找3-4个候选数都是某3-4个数字4找隐性数对对每个数字,看它在某行/列/宫只能填在哪些格5找隐性数组类似第4步,找3-4个数字都只能填在同样3-4个6应用数对/数组显性→排除其他格子的候选数;隐性→擦除这几个7更新候选数,找唯一余数排除后可能出现唯一余数,直接填入
流程图解(原文流程整理)

【示意图7:识别流程图。用方框和箭头画出上面的7步,每步配一个小图标(候选数标记、显性数对、隐性数对等)。】

八、数对/数组+区块排除的组合

数对/数组经常跟区块排除组合使用——区块排除帮你标记候选数,数对/数组帮你排除更多候选数,然后又触发新的区块排除和唯一余数。

典型流程:

  • 用区块排除法标记候选数
  • 找到显性数对(2个格子候选数相同)
  • 排除其他格子的这2个候选数
  • 排除后,某个格子变成唯一余数(候选数只剩1个),直接填入
  • 填入后,用区块排除更新候选数
  • 更新后,又找到新的数对/数组……

这种“区块排除→数对/数组→唯一余数→区块排除”的循环,是中高级数独最常用的解题流程。掌握了这个循环,你就能解决大多数中高级数独。

九、常见错误

错误1:数对/数组不在同一行/列/宫

表现:2个格子候选数相同,但不在同一行/列/宫——这不是数对,不能排除其他格子的候选数。

避免:数对/数组必须在同一行/列/宫内——只有同一行/列/宫的格子才共享“不重复”的约束。不在同一行/列/宫的格子,即使候选数相同,也不是数对。

错误2:显性数组的候选数超出了n个数字

表现:以为3个格子是数组,但其中一个格子的候选数包含了第4个数字(如{3,5,7,8})——这不是数组。

避免:显性数组的所有格子的候选数都必须只包含这n个数字(子集)——如果有一个格子包含了第n+1个数字,就不是数组。

错误3:隐性数对判断错误(数字还能填在其他格子)

表现:以为2个数字只能填在2个格子里,但实际上这2个数字还能填在其他格子(候选数标记不全或没看到)。

避免:判断隐性数对时,仔细检查这2个数字是否真的只在这2个格子里出现——扫一遍该行/列/宫的所有格子,确认其他格子都没有这2个候选数。

错误4:找到数对/数组后不更新候选数

表现:找到了数对/数组,但没有擦除相关候选数(显性数对要擦其他格子的,隐性数对要擦这2个格子的),导致候选数过时。

避免:找到数对/数组后,立刻擦除相关候选数,保持候选数最新。擦除后检查有没有唯一余数。

十、数对/数组速查表

类型识别动作难度
显性数对(Naked Pair)2格候选数完全相同排除其他格的这2个候选数★★☆☆☆
隐性数对(Hidden Pair)2个数字只在2格出现擦除这2格的其他候选数★★★☆☆
显性数组(Naked Triple)3格候选数都是某3个数字的子集排除其他格的这3个候选数★★★☆☆
显性数组(Naked Quad)4格候选数都是某4个数字的子集排除其他格的这4个候选数★★★★☆
隐性数组(Hidden Triple)3个数字只在3格出现擦除这3格的其他候选数★★★★☆
隐性数组(Hidden Quad)4个数字只在4格出现擦除这4格的其他候选数★★★★★

十一、总结

数对/数组是经典数独进阶技巧中最重要的一类——当区块排除法不够用时,数对/数组能帮你找到新的突破口。

6种数对/数组:

  • 显性数对:2格候选数完全相同→排除其他格(基础,必须熟练)
  • 隐性数对:2个数字只在2格出现→擦这2格其他候选数(容易忽略)
  • 显性数组(Triple):3格候选数都是某3个数字的子集→排除其他格(常见,特别是两两组合形式)
  • 显性数组(Quad):4格候选数都是某4个数字的子集→排除其他格(较难)
  • 隐性数组(Triple):3个数字只在3格出现→擦这3格其他候选数(难识别)
  • 隐性数组(Quad):4个数字只在4格出现→擦这4格其他候选数(最难识别)

核心建议:

  • 先掌握显性数对(最基础),再掌握隐性数对和显性数组(Triple),最后练习隐性数组和Quad
  • 数对/数组必须在同一行/列/宫内——不在同一行/列/宫的不是数对/数组
  • 显性数组的候选数不一定完全相同——只要都是某n个数字的子集就行
  • 找到数对/数组后,立刻更新候选数,检查唯一余数
  • 数对/数组经常跟区块排除组合使用,形成“区块排除→数对/数组→唯一余数”的循环

数对/数组是从“新手”到“高手”的关键技巧——掌握了数对/数组,你就能解决大多数中高级数独,解题能力会有质的飞跃。

立即访问脑伴数独,选择中等-困难级经典数独,用本文的数对/数组技巧,挑战你的极限

延伸阅读

动手练一练,比看十篇都管用

脑伴数独有8个难度等级,从少儿到专家都能找到适合的题

免费开始玩 →