grid_on

Sudoku Clean

技巧文檔 / 雙線風箏

雙線風箏

> 前置知識:[鏈的基礎](learning://chains)

進階

雙線風箏

前置知識:鏈的基礎

描述

雙線風箏是一種“刪候選”的單數技巧:只盯住一個數字 d

它會在一條行裏找到 d 的 2 個候選位置,在一條列裏也找到 d 的 2 個候選位置,並且其中一對落在同一宮裏“連起來”。
最後,能同時看見兩端的候選 d 就可以刪除。


詳解

雙線風箏示例

先看上圖:目標數字是 4
這條鏈從 r4c2 → r4c9 → r6c8 → r8c8,紅色是要刪除的 r8c2 中的候選 4,兩端(r4c2、r8c8)用藍色標出。

為什麼能刪?看一個很短的反證就夠了:

  • 假設 r8c2 = 4(紅色候選為真)
  • r8c2 能同時看見兩端,所以 r4c2 ≠ 4r8c8 ≠ 4
  • 兩條強鏈會被迫“補上 4”:第 4 行迫使 r4c9 = 4,第 8 列迫使 r6c8 = 4
  • r4c9r6c8 在同一宮裏,不可能同時為 4 → 矛盾

所以 r8c2 不可能是 4,紅色候選 4 可以刪除。


例子

下面兩張圖是其他方向/其他數字的雙線風箏,你可以直接對照結構參考:

雙線風箏示例 A

雙線風箏示例 B


如何尋找雙線風箏?

一句話:行兩點 + 列兩點 + 宮裏連一下 → 刪兩端共視點

在遊戲裏你可以按這個順序找:

  1. 先選一個數字 d
  2. 找到一條行(或列),讓 d 在裏面只剩 2 個候選位置(強鏈)
  3. 再找到一條與之垂直的列(或行),讓 d 在裏面也只剩 2 個候選位置(強鏈)
  4. 檢查這兩對候選裏,是否有一對落在同一宮裏(風箏的“結”)
  5. 剩下的兩個端點就是兩端:能同時看見兩端的位置,就是可刪的候選 d