Sudoku Clean logo

Sudoku Clean

技巧文檔 / 隱藏矩形(Hidden Rectangle)

高級技巧

隱藏矩形(Hidden Rectangle)

建議先熟悉:唯一解 · 唯一矩形

隱藏矩形仍然是在阻止與普通唯一矩形相同的危險局面:

7  9       9  7
       ↔
9  7       7  9

若兩行、兩列中的四個角只剩同一對數字,而且恰好跨兩個宮,兩數便能整體交換並產生第二個解。隱藏矩形只是被其它候選遮住了,需要雙值角和強鏈把它重新找出來。

下面直接使用圖片中的格子座標說明每一步。

1. 怎樣看圖?

  • 藍色格子:矩形四角;
  • 綠色候選:四角共同擁有的兩個核心數字;
  • 黃色候選和區域:雙值角與關鍵強鏈;
  • 紅色候選:本次可以刪除的數字。

強鏈表示某數字在整行或整列只剩兩個位置,因此其中至少一處必須成立。一端被排除,另一端便被迫成立。

2. Type 1:一個雙值角、兩條強鏈

隱藏矩形 Type 1

四個藍色角是 r5c2、r5c3、r7c2、r7c3,都包含 7/9;其中 r7c2 只有 7/9。數字 9 在第 5 行只位於 r5c2、r5c3,在第 3 列只位於 r5c3、r7c3,形成兩條經過 r5c3 的強鏈。

假設紅色候選 r5c3#7 成立:

  1. 第 5 行的強鏈迫使 r5c2=9
  2. 第 3 列的強鏈迫使 r7c3=9
  3. 雙值角 r7c2 只能填 7;
  4. 四角只剩可以整體交換的 7/9

這會產生第二個解,所以刪除 r5c3#7。Type 1 的觀察順序是:找唯一雙值角,再檢查它的對角格是否具備同一數字的行、列兩條強鏈。

3. Type 2:兩個同宮雙值角、一條強鏈

隱藏矩形 Type 2

四個藍色角 r5c3、r5c6、r6c3、r6c6 都包含 7/9。右側的 r5c6、r6c6 只有 7/9,是兩個雙值角;數字 7 在第 6 行只位於 r6c3、r6c6,形成強鏈。紅色候選是 r5c3#9

假設 r5c3=9,沿矩形走一圈:

  1. 同行的雙值角 r5c6 只能填 7;
  2. 另一個雙值角 r6c6 只能填 9;
  3. 第 6 行的 7 強鏈迫使 r6c3=7
  4. 四角變成兩套可以交換的 7/9 填法。

所以刪除 r5c3#9。可把傳播順序記成:紅色候選 → 同邊雙值角 → 另一雙值角 → 強鏈另一端 → 致命矩形

4. Type 2b:兩個雙值角分處兩宮

隱藏矩形 Type 2b

Type 2b 的證明與 Type 2 完全相同,只是兩個雙值角分處不同的宮。圖中四角 r3c5、r3c6、r5c5、r5c6 共同包含 3/7r3c5、r5c5 只有 3/7,同列但跨宮;數字 3 在第 3 行只位於 r3c5、r3c6

若紅色候選 r5c6#7 成立,便會依次得到 r5c5=3、r3c5=7、r3c6=3,再次形成可交換的 3/7 矩形,所以刪除 r5c6#7

Type 2 的兩個雙值角在同宮;Type 2b 的兩個雙值角跨宮,但仍必須在同一行或同一列。整個矩形始終只能佔據兩個宮。

5. 檢查清單

  1. 四角是否位於兩行、兩列並恰好跨兩個宮?
  2. 四角是否都包含同一對核心數字?
  3. Type 1 是否具備唯一雙值角及兩條強鏈?
  4. Type 2/2b 的兩個雙值角是否相鄰,而非互為對角?
  5. 強鏈所在整行或整列是否真的只有兩個該數字候選?
  6. 候選是否已經補全?

同一個 Type 2/2b 矩形可能有兩條不同強鏈,因此得到兩項獨立刪數;每一項都必須有自己的完整傳播路徑。