技巧文檔 / 數對和數組
數對和數組
> 顯性/隱性數對數組
入門
數對和數組
顯性/隱性數對數組
數對和數組是一類非常實用的“刪候選”技巧。它們看起來名字很多,但本質都在做同一件事:
在同一行、同一列或同一宮(下面統稱為一個 區域)裏,某幾格和某幾個數字互相“佔位”鎖定了,於是其它地方就不可能了。
你不需要背術語,記住這個直覺就夠了:
- 顯性:從“格子裏寫了什麼”出發(這幾格只剩這些數)
- 隱性:從“這個數字能去哪”出發(這幾個數只剩這些格)
1. 顯性數對(Naked Pair)
當同一個區域裏,有兩格都只剩下同一對候選數(比如 a、b),就形成顯性數對。
這意味着:
- 這兩格必然一格是 a,一格是 b(順序不確定)
- 所以這個區域裏其它空格不可能再是 a 或 b,可以把對應候選刪掉
先看下圖:請把注意力放在高亮的第三宮,以及兩個綠色格子 r2c9、r3c9。
你會發現:它們的候選數都只剩 1、5。

這表示:在第三宮裏,數字 1、5 必須由 r2c9 和 r3c9 來“佔位”。
圖中標紅的候選數,就是這一步可以刪除的候選。
再看紅色候選:r1c7、r2c7、r3c7 裏的候選數字 5 都可以刪除。
理由用一個反證就能看懂:
- 假設 r1c7 中的候選 5 為真(r2c7、r3c7 同理)
- 那麼第三宮裏已經放了一個 5,綠色格子 r2c9、r3c9 就都不能再是 5,只能被迫填 1
- 可是 r2c9 和 r3c9 在同一列(第 9 列),不可能同時都是 1 —— 矛盾
⇒ 紅色的候選 5 都可以安心刪掉
2. 隱性數對(Hidden Pair)
當同一個區域裏,候選數 a 只出現在兩格中,同時候選數 b 也只出現在同樣兩格中,就形成隱性數對。
注意:這兩格里可能還有別的候選數,但 a、b 已經被鎖定只能落在這兩格里。
所以我們可以:
- 把這兩格里 除 a、b 之外的其它候選數刪掉
先看下圖:請把注意力放在高亮的第 4 列。
把候選數字 4 和 5 在這一列裏出現的位置找出來,你會發現它們只出現在 r1c4 和 r6c4。

這表示:第 4 列裏的 4、5 必須由 r1c4 和 r6c4 來放。
圖中標紅的候選數,就是這一步可以刪除的候選。
所以我們可以刪掉 r1c4、r6c4 裏除 4、5 以外的其它候選。原因同樣很直覺:
- 假設 r1c4 填了一個不是 4 或 5 的數字
- 那麼 4 和 5 就只剩 r6c4 這一個格子可以放
- 可一個格子不可能同時放 4 和 5 —— 矛盾
⇒ r1c4、r6c4 只能是 4 或 5,其它候選都可以刪除
3. 顯性數組(Naked Triple / Quad)
把“顯性數對”推廣一下:
在同一個區域裏,如果 N 個格子的候選數合起來只包含 N 個數字(例如 3 格只包含 a、b、c),就形成顯性三數組;4 格同理是顯性四數組。
這意味着這 N 個數字只能在這 N 格里互相分配,所以:
- 這個區域裏其它空格的這些數字(例如 a、b、c)都可以刪掉
先看下圖:請把注意力放在高亮的第 8 行,以及 r8c1、r8c2、r8c4 這三個格子。
你會發現:它們的候選數合起來只包含 5、6、8。

這表示:第 8 行裏的 5、6、8 必須由 r8c1、r8c2、r8c4 來分配。
圖中標紅的候選數,就是這一步可以刪除的候選。
因此第 8 行其它格子裏標紅的 5、6、8 都可以刪掉。
反證的直覺是:
- 假設你在第 8 行的別的格子裏“佔走”了 5、6、8 其中一個
- 那麼這三個格子就只剩下 2 個數字去填 3 個格子
- 無論怎麼填都會出現重複或無解 —— 矛盾
4. 隱性數組(Hidden Triple / Quad)
把“隱性數對”推廣一下:
在同一個區域裏,如果某 N 個數字只出現在同樣的 N 個格子裏(即使這些格子裏還有其它候選數),就形成隱性三數組或四數組。
這意味着這 N 個數字被鎖定只能落在這 N 格里,所以:
- 這 N 個格子裏 除這 N 個數字之外的其它候選數都可以刪掉
先看下圖:請把注意力放在高亮的第 5 列。
你會發現:候選數字 4、7、8 只出現在 r1c5、r8c5、r9c5。

這表示:第 5 列裏的 4、7、8 必須由 r1c5、r8c5、r9c5 來放。
圖中標紅的候選數,就是這一步可以刪除的候選。
所以我們可以把這三個格子裏除 4、7、8 之外的其它候選全部刪掉。
原因同樣很直覺:
- 假如其中任意一個格子填了別的數字
- 那麼 4、7、8 就會“擠不下”(只剩 2 格卻要放 3 個數字)—— 矛盾
5. 更容易找到的小建議
- 先把候選數儘量寫完整(難題裏幾乎離不開它)
- 先掃顯性:從“候選數特別少”的格子開始看(2、3 或 4 個候選最醒目)
- 再掃隱性:在一個區域裏,看看某個數字是不是“只剩兩格、三格或四格能放”
- 刪完候選後別急着走:回頭看一眼是否出現了“只剩一個候選”的格子,或“某個數字只剩一個位置”