今天的題目來自於數獨宇宙150道,也就是master ninja部分的最後一道題
這是題目的盤面。觀察盤面的第一步,先是找出哪個數字需要填的最少(填4個一般可以看),這個軟件比較貼心,在旁邊已經標出,但是我們可以看到,最少也得填五個(3和7),所以這個辦法暫時無法使用。其次,是觀察盤面的結構,上了難度的數獨一般都是對稱的(僅僅是為了美觀,不對稱的數獨也很多)。如何觀察,怎樣觀察才算有效?從1開始到9,把1到9劃分成每個已知數小組,每個小組的所構成的結構是否可以進行排除、填數、構成數組。
好的,我們用第二個辦法來看這個數獨,先看1,只有第一宮和第五宮裡有,兩個1構成的結構是什麼
這樣畫出來,更為直觀的可以看到這個數獨中1的行列排除,我們看到沒有明顯的結構去進行1的填數,所以我們繼續看後面的幾個數字(這裡就不展示了,本圖中沒有展示宮裡的情況,宮裡有1,那麼這個宮都不能填1,其他數字同理)。從1看到9後,我們可以先填出幾個數來,看看填的是否一樣
可以先填出這三個數字,非常簡單的進行了出數。之後我們要如何繼續思考?下一步就該找數組進行摒除,數組是什麼呢,之前的帖子有說,這裡簡單再說一下,就是指一個單元內(單元指同宮、同行或同列),有且僅有兩個格子可以填數字x,單元內的其他格子均不能填數字x。
拿這個數獨舉例子,我們可以看到八九宮的4和7的數組,那麼是不是又可以進行摒除了(摒除得數結果這裡不展示,字面表述為七宮的4、7),而後繼續找數組,進行摒除,得出八宮的2,再補上直觀得到的五宮的6(粗心大意第一時間沒有看到)
數組使用後,我們再該用什麼方法呢?一般是唯餘法(前面的帖子有提到過),簡單來說,就是一個格子受到行、列、宮三個不同的單元控制,那麼只要三個單元的條件湊夠8個不同的數字,那麼受這三個單元共同影響的格子便可得出數x(x為剩下的數字)。一般唯餘要觀察什麼地方比較好呢,觀察行或者列剩下四個空格的地方
拿該數獨舉例,圖中框選的四個格子,可以填的數字有4、5、6、9四個。我們是不是可以看到最上面的格子,在橫行中,有4、6、9,那麼這個格子,是不是隻能填5了呀
因家裡有一些事情的緣故,本貼分開發一下,感謝支持