好的數獨謎題有恰好一個解。唯一矩形正是利用了這一點。
位於兩列、兩行且恰好兩個宮中的四個格子,可能組成一個致命結構:如果它們只包含相同的兩個數字,你就可以交換這兩個數字,得到第二個有效解。
原理
一道合格的謎題不允許這種致命交換。所以這個矩形不能「純粹」只包含兩個數字。
如果三個角已經是 XY 雙值格,而第四個角有額外候選數(類型 1),那麼會補全致命結構的候選數必定為假。其他類型則透過鎖定候選數或數組來*避免*致命結構。
你沒有在猜。你是在說:「如果這個候選數為真,謎題就會有兩個解——但我們知道它只有一個。」
如何發現
四個格子必須恰好佔據兩個宮,並在列和行上對齊。如果某個給定數字確定了順序,它就不是致命結構。
示範
549134935235621389437612898174263586432957131244738
唯一解的謎題不允許出現致命結構:位於兩個宮中、對齊的四個格子,可以交換兩個數字得到第二個解。
549134935235621389437612898174263586432957131244738
尋找四個格子,如果忽略額外候選數,它們會在兩個數字上組成這樣的致命矩形。綠色格子已經很接近了。
549134935235621389437612898174263586432957131244738
如果某些候選數保留下來,你就能交換兩個數字得到第二個解——這對唯一解謎題是不允許的。避免這個致命結構涉及 4和7。
549134935235621389437612898174263586432957131244738
這種唯一性論證就是唯一矩形。(只能用於經典的唯一解謎題。)
549134935235621389437612898174263586432957131244738
進行唯一性排除(紅色)(此處為 4和7)。這些標記會補全致命結構。
範例 1
168492346195291467769168491372595741594
找到一個帶有額外候選數的潛在唯一矩形致命結構(兩個宮,對齊)。
168492346195291467769168491372595741594
這個唯一矩形涉及 2和3。
168492346195291467769168491372595741594
套用唯一性排除(紅色)(此處為 2和3)。它們保護了唯一解——致命結構是不允許的。
範例 2
682735948733862635173512941956385136359143725
找到一個帶有額外候選數的潛在唯一矩形致命結構(兩個宮,對齊)。
682735948733862635173512941956385136359143725
這個唯一矩形涉及 1和4。
682735948733862635173512941956385136359143725
套用唯一性排除(紅色)(此處為 1和4)。它們保護了唯一解——致命結構是不允許的。