2013年6月7日 星期五

Sudoku - 2

知道Sudoku規則後,當然可以按照其規則來把剩下的數字填入。等等,若是這樣子的話,要填一個數字,就得知道其他8個是什麼數字。這樣子對於要用「視力」的方式,似乎不太好。當然希望能一眼望去,用最少數字下決定,不是很好嗎?這就是我開始想聊聊的方法。

限制式

限制式可以分成好幾階。所謂的「階」是指要轉折幾次。
先來看看通則。
每一個小方格內的可填入的數字,將受限於其兩個縱軸與兩個橫軸之限制。
中間大方格的中間小方格,之所以必須填入5,是因為他的左右兩個縱軸出現了5。上下橫軸中出現了5。中間那個空格只好是5了。
這樣子,我們是不是只要發現在題目中,縱軸,橫軸都分別出現同一個數字時,那他們交錯下的那個大方格裡的小方格,就得跟他的數字一樣了。而且是,只要有出現即可。不在乎是哪一個,因為這是基本限制條件,在同一個橫軸或縱軸都只能出現一次。如下圖。
若有四個已知數字來決定時,我稱之為一階限制式。
當然,事與願違。不可能剛好四個都有,那就得看其變形。
也就是看交錯大方格內,其他未知的方格中是否為其他已知數字來覆蓋。如下圖中,因為下橫軸沒有5,但是卻在他的下方那個小方格有其他非5的數字(X可以為其他非5的數字)這樣子的話,也是滿足了限制式。
相同的道理,再少一個已知呢。這時候就得小心,會發生「已知數字的邊際效益」的問題。
上圖中,已知少了橫軸。接下來少了橫軸與少了縱軸,所衍生的邊際效益是不一樣的。
再少另一個橫軸,只需多加一個已知。如下圖。

如果少的卻是縱軸呢?也就是說,限制式剩一個橫軸與一個縱軸,那就變成需要三個已知。如下圖。

不過,也別太緊張,如果無法確認,也就是說,應該要三個已知,卻只有兩個已知,那表示這個5還不能確定。(可以出現在兩個地方)那沒關係,就先去看別的格子就好。
只要能確認是唯一的,就可以放上正確的數字。

這都可以用眼睛瞄一瞄就可以知道。

如果真的遇到下列情形時,有沒有辦法解決呢?這時候就要來看二階限制式了。

也就是多一道程序。既使我不知道他會填入哪一個,但我知道一定要填入這一排(這一列)。相對地,不就是多了一條限制式了嗎?
留到下回分解。

上圖是上次剪下來的題目。
這是入門級題目,所以有很多數字足夠用今天的技術。
看看中間大方格中,若要填入1的話,是不是他另外兩個縱軸與兩個橫軸都有1了,那也只剩下右上角可以放1了。是不是,眼睛瞄一瞄就可以了。
左下角大方格中,要放1,不也是嗎?
那右中大方格中要放2的話,已知三個2,但是另外一個幸運地被其他數字覆蓋了。是不是只能在上中那個小方格填入2呢?
這樣子,霹哩趴啦就可以填入一堆了。
這個是入門題目,進階一點的空格會更多,但是,掌握交錯限制式,就可以填入不少數字。
但是,

沒有留言:

張貼留言