grid_on

Sudoku Clean

技巧文檔 / 唯一解

唯一解

很多初學者會這樣想:

進階

唯一解

1. 不衝突 ≠ 正確

很多初學者會這樣想:

“這個數字在這一行、這一列、這一宮裏都沒出現過,那我就填它吧?”

這個想法很自然,也很常見,但在數獨裏它並不可靠。

為什麼?

因為數獨不是“隨便填一個眼下合法的數字”,
而是一道只有一個完整解的邏輯謎題。

你現在填的這個數字:

  • 也許暫時不衝突
  • 但它可能會讓後面的某一行 / 某一列 / 某一宮走到無解

所以在這款遊戲裏,你可能會遇到:
眼下看起來沒衝突,但依然會被判定為錯誤。

這不是在責怪你,而是在幫你提前避開後面會無解的那條路:
這一步並不屬於這題的唯一解。


2. 一個例子:看起來沒衝突,卻走到了無解

下面我們用一組圖片,慢慢感受一下:為什麼“當下不衝突”,並不等於“這一步就是對的”。

第一步:r6c6 看起來可以填 1

請觀察高亮格子 r6c6
如果你只看眼前的“衝突規則”,它所在的行、列、宮裏確實都沒有數字 1,所以 1 看起來是合法的

也正因為這樣,很多人會很自然地想:那我就填 1 吧。

示例 1

第二步:r6c1 被迫只能填 4

接下來請觀察高亮格子 r6c1
這一步我們換一種更可靠的思路:不是問“能不能填 4”,而是問——這個格子還能剩下哪些數字?

做法很簡單:

  • 先把 r6c1 所在行、所在列、所在宮裏已經出現過的數字都排除掉
  • 剩下的,就是它可能的候選數字

你會發現,排除完之後只剩下 4
所以這裏不是“可以填 4”,而是——只能填 4

示例 2

第三步:r6c2 被迫只能填 9

再看高亮格子 r6c2
同樣把它所在行/列/宮裏已經出現的數字逐個排除,最後就只剩下 9
所以這裏也只能填 9

示例 3

第四步:r6c3 竟然沒有任何數字可填

現在輪到 r6c3
你也可以照着上面的步驟,把它所在的行、列、宮裏已經出現的數字都排除一遍。

結果會讓人有點意外:
1~9 全部都被排除了,r6c3 竟然沒有任何數字可以填入。

也就是説:最開始那個“看起來沒衝突”的選擇,最後把棋盤推到了無解的狀態

示例 4

對照:這題的正確答案

下面給出這局的正確答案,你可以對照看看:

示例 5


3. 正確的推理方式:先“只能”,再“填寫”

數獨裏有一個很實用的小習慣:

如果只是“可以填”,先別急着落筆。
等你能證明“只能填”時,再把它寫進去。

當你還不確定時,可以先這樣做:

  • 筆記把“可能的候選數字”寫在格子裏
  • 通過刪數、區域觀察、鏈式推理等方法,把候選一步步減少
  • 直到某個格子只剩一個候選,或者某個數字在一個區域裏只剩一個位置

這樣做的好處是:每一步都有理由,你不容易被“看似合法”的選擇帶偏,也更容易看懂提示為什麼成立。