1. 程式人生 > >數獨·唯一性技巧(Uniqueness)-2

數獨·唯一性技巧(Uniqueness)-2

Hidden Rectangle(隱藏矩形)

在由候選數(AB)組成、可能形成UR結構的4格中,有2~3格存在額外的候選數,此時若以不存在額外候選數的一格為起點,檢查其對角格所在的行和列,若該行和列其餘位置均不存在候選數A,則應刪去對角格中的候選數B。我們將這類結構稱為HR。

  圖14 HR-1

圖14中,R7C57和R9C57四格可能形成UR結構,其中有三格存在額外的候選數,R7C7不存在額外候選數,其對角格R9C5所在的R9和C5其餘位置均不存在候選數5,顯然R9C5的5和R7C5、R9C7中的兩個5構成矛盾關係,此時,

1、若R9C5中的5成立,則該格中的9不成立;

2、若R9C5中的5不成立,則R7C5、R9C7中的兩個5成立,那麼R7C7中就只能填入9,R9C5中就只剩9和額外的候選數7可供選擇。如果選擇填入9,就會如圖15在這4格形成一個互換結構(很明顯,把5和9位置互換,題目可以得到另一個合乎規則的解),導致題目出現雙解。綜上,不管R9C5中的5是否成立,該格中的9都應被刪去。

  圖15 HR-2

下圖是對角兩個格存在不同額外候選數的情況,這種情形應先檢查是否滿足UR6,若不滿足UR6,可以分別檢查不存在額外候選數的兩格,看是否滿足HR,本例中R2和C9其他格不存在候選數4,滿足HR,可刪去R2C9中的5。

  圖16 HR-3

Avoidable Rectangle(可避免矩形)

在HR部分提到了互換結構的概念,這種結構使得我們可以將UR的用法進一步擴充,即在可能形成UR的四格中存在已填入的確定數字,若此時未定格中選擇某候選數會導致盤面出現互換結構,就應刪除該候選數,這類方法稱為Avoidable Rectangle。需要注意的是,只有在可能會形成UR的四格中不存在原題給定數字時,方可使用AR,如果大家是在app上做題,原題給定數字和自己填入的數字無法分辨時,就不要使用這類技巧。

Avoidable Rectangle Type 1

AR1類似於UR1,來看一個例子:圖17中,綠框4格已有3格填入確定數字,此時若R2C9中填入9,就會出現互換結構,所以R2C9≠9。

  圖17 AR1-1

圖18同樣的道理,大家自己體會下。

  圖18 AR1-2

Avoidable Rectangle Type 2

AR1是一格存在額外候選數的情況,AR2則是同側兩格有相同的單個候選數,類似於UR2。

  圖19 AR2-1

上圖中,若R78C3兩格中的9都不成立,就會形成互換結構,亦即這兩格中的9不能同假,必須要成立一個,故可刪除這兩格所在單元其他位置的9。下圖同理。

  圖20 AR2-2

Binary Universal Grave + 1(全雙值墳墓+1,BUG+1)

如果某個數獨中盤已無擯除解所有未解格均為雙值格且每個候選數在每個單元(行、列、宮)均出現且只出現兩次,這樣的情形會導致題目多解或者無解,我們將這種結構稱為全雙值墳墓(BUG)。而在BUG基礎上,某一格的候選數多出來一個,即存在三個候選數時,可將其稱為BUG+1,很明顯,若刪除多出來的那個候選數,將會導致盤勢出現BUG結構,故應把非雙值格中在其行列宮僅出現兩次的數字刪除(或可表述為,非雙值格中應填入在所在單元出現三次的那個候選數)。

  圖21 BUG+1-1

圖21中,除R1C8外所有未解格均為雙值格,除該格中的6在所在單元出現3此外,其餘候選數均出現且只出現2次,滿足BUG+1的定義,故R1C8格應填入候選數6。

留個題目給大家,圖22的盤勢是否可以採用BUG+1的技巧,為什麼?

  圖22 BUG+1-2

作者:零時四分_719b
連結:https://www.jianshu.com/p/6da2a49d89ab
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。