本文作者“逢逆逆”,歡迎去豆瓣App關注Ta。
今天看到友鄰分享的一道數獨題,作為數字遊戲愛好者,看到題目簡直手癢難耐,于是用午休時間解了出來。不知道是否是最簡單的方法,寫出來供大家思考。
原題是這樣的,隻有部分數字的大小關系。玩過各種異形數獨,還是第一次見一個原始數字都沒有的題目。
不等式數獨原題目
做數獨的方法,一般是把從1到9九個數字挨個在每個九宮格内、橫行和豎行内浏覽一遍,看看能填入什麼,到了不能直接填入的時候,再用一些稍複雜的辦法。但是這道題顯然還需要一些别的步驟。
一個原始數字都沒有
Step1:
首先,第一個步驟就是思考不等式怎樣影響數字排列。舉一個九宮格為例:
左上角九宮格
c>b>e>h>g是最長的一條關系鍊,其他我們還知道b>a,e>d。那麼比c小的數字至少有6個(abdegh),則c可能是7或8或9。既然c最大為9,因為b<c,所以b最大隻能為8。又因為比b小的至少有5個數字,所以b最小為6。因此b可能是678。以此類推,就可以把abcdegh的範圍都大緻确定出來,排除一些不可能的數字。但是f和i我們暫時不能确定。
此外,還有一種情況可以增加信息,舉右下角九宮格為例:
右下角九宮格
除了知道b>c,e>f>i,h>g,h>i,d>a這些直觀信息,用之前的思路推出b、e、h都至少有兩個較小數,所以都至少是3以外,我們還可以從b和d都>a這一點知道,a上面至少還有兩個大數,所以最大為7,i同理。
Step2:
按照這個思路,把所有九宮格内可能的數字填出來,如下圖所示。灰色部分是不能根據不等号進行判斷的,因為它們跟其他位置沒有大小關系:
一輪排除
Step3:
然後這裡就可以開始用普通數獨的方法了。首先掃視一下各行各列各九宮格,發現直接可以确定兩個9.
确定前兩個9
首先,第二列隻有一處可能有9,所以直接确定。然後很簡單就可以确定第一列的9(因為左上和左下九宮格均在第一列無9,而左中九宮格在第一列隻有一個9)。
确定了前兩個9以後,首先先按照一般數獨的方法,确定其它所有9.
所有9
去掉所有待定9.
Step4:
去掉這些位置的待定9後,就出現了新的線索:再次利用不等式。舉中間九宮格為例:
去掉待定9之前
去掉中間九宮格的待定9後,不等式發生了變化,中間數的範圍變成了4-8,右中數變成了2-7,右上數範圍變成了1-6(原理同Step1).
去掉待定9并根據不等式更新待定數字
Step5:
之後的過程就幾乎等同于普通數獨了(普通數獨的一些進階技巧大家可以自行谷歌啦~)。根據Step4依次類推,以後每确定一個新數字,都根據不等号關系更新同行、同列、同九宮格的相關數字。
出現了兩次要試數的情況,一次是為了定一個8,一次好像是最後隻剩235的時候。試數就是一種排除法,假設一個空隻有兩種可能性,且對後面的推理至關重要的話,就先暫定一個數,如果推出矛盾,說明是另一個數。如果另一個數還不對,那麼要麼題目是錯的,要麼是之前的步驟有錯。
做數獨題是很容易出錯的,所以一定要細心。我自己如果不是一開始就犯了個低級錯誤,可能隻要一半的時間就可以解完。
試數後有兩種結果可以滿足一般數獨的條件:
滿足數獨規則但不滿足不等式的解法一
解法二
但是第一種答案中出現了3<2這樣的矛盾,所以不成立。所以隻有後一種是對的。感謝評論中的友鄰提醒~
我的解法就是這樣。如果有更簡單的方法歡迎讨論!
(全文完)
本文作者“逢逆逆”,現居Ithaca,目前已發表了14篇原創文字,至今活躍在豆瓣社區。下載豆瓣App搜索用戶“逢逆逆”關注Ta。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!