不了解數(shù)獨(dú)的人,請(qǐng)先看我第一篇文章 現(xiàn)在你應(yīng)該知道數(shù)獨(dú)的基本規(guī)則,以及行、列和宮 避免你沒(méi)看前面那篇文章,我解釋一下我用到的坐標(biāo)體系 R 代表行,C 代表列,B 代表宮 R1C1 指第一行第一列那個(gè)格子 R23C1 指第一列的第二行和第三行 2 個(gè)格子 R1C23 指第一行的第二列和第三列 2 個(gè)格子 B1 代表第一宮 本文只是數(shù)獨(dú)的基礎(chǔ)技巧和快速入門,如果都學(xué)會(huì)還想繼續(xù)深入,請(qǐng)等待我的后續(xù)文章 把這篇文章的技巧都能用的出神入化以后,你玩數(shù)獨(dú)已經(jīng)很厲害了 好了,說(shuō)正題。 做數(shù)獨(dú)第一個(gè)要用到的技巧和思路是什么呢? 答案一定是 「排除法」 什么是排除? 根據(jù)數(shù)獨(dú)規(guī)則,如果某格內(nèi)出現(xiàn)了一個(gè)數(shù)字,與該格同行、同列同宮的位置不能再出現(xiàn)相同的數(shù)字。這種排斥同行、同列、同宮其它格內(nèi)出現(xiàn)相同數(shù)字的思路就是排除。見(jiàn)下圖: 圖中出現(xiàn)的已知數(shù) 5,可以排除掉同行、同列和同宮中其他格子內(nèi)填 5 的可能,即打叉的格子不能再填 5 了,否則和數(shù)獨(dú)的規(guī)則矛盾了。 排除法怎么用? 排除法主要分為:1 宮內(nèi)排除法、2 行列排除法、3 區(qū)塊排除法。 宮內(nèi)排除法 針對(duì)某宮進(jìn)行排除,找到只有一個(gè)位置可以填某數(shù)。 見(jiàn)下圖 觀察數(shù)字 2 B1 和 B3 的 2 讓 B2 的 R12 都不能填 2,那么 2 只能在 R3C6 B3 和 B4 的 2 讓 B6 的 C8 和 R6 都不能填 2,那么 2 只能在 R6C9 行列排除法 針對(duì)某行或某列進(jìn)行排除,找到該行或該列只有一個(gè)位置可以填某數(shù)。在數(shù)獨(dú)中,行和列其實(shí)是一樣的,所以行和列通常會(huì)一起討論 見(jiàn)下圖 觀察 R5,B6 的 2 讓 R5 在 B6 的 3 列都沒(méi)法填入 2,所以 2 只能在 R5C6 再解釋一下為什么是行列排除,因?yàn)槊恳恍辛斜仨毝家?2,R5 這行的 2 只有只一個(gè)位置可以填了,把行變成列也是一樣的。 再看一個(gè)例子 還是看 R5,C268 的 2 都因?yàn)檫@些列已經(jīng)有 2 無(wú)法填入,那么 2 只能在 R5C9 再說(shuō)一句,行變成列是一樣的 區(qū)塊排除法 利用排除形成區(qū)塊,再利用該區(qū)塊作為排除其他位置的條件進(jìn)行推理填數(shù)。 不好理解是吧,看例子吧 下圖中,R5 已經(jīng)有 4 了,所以 B6 的 R5 不能填 4,4 只能在 R46C9 這兩個(gè)格子中 既然 4 只能在這兩個(gè)格子,那么 C9 的 4 也就一定在這兩個(gè)格子里面,B9 的 4 不能出現(xiàn)在 C9,只剩下一個(gè)位置可以填入,R9C8 就一定是 4 再看一個(gè)例子 R4 的 8 讓 B4 的 8 只能出現(xiàn) R6 中,這樣的 R6 的 8 一定在 B4 的這三個(gè)位置 這樣 C8,R4 和 R6 交叉排除,B6 的 8 只能出現(xiàn)在 R5C9 我再總結(jié)一下區(qū)塊排除法 某一個(gè)數(shù)字在一個(gè)宮里面,只出現(xiàn)在某一行或者某一列,那么在這一行或者列的其他宮內(nèi)就不能出現(xiàn)了。 這個(gè)方法在實(shí)際運(yùn)用的時(shí)候可能沒(méi)有前面兩種那么容易看出來(lái),當(dāng)用前面兩種排除法的時(shí)候,有些宮雖然沒(méi)法確定數(shù)字,但可以把可以填入數(shù)字的地方先做好筆記,方便觀察。 后面我還會(huì)講一下解決數(shù)獨(dú)的時(shí)候用的方法順序大概什么樣的。 好的,排除法就說(shuō)這么多,接下來(lái)說(shuō)另外一種方法 唯余法:也稱唯一余數(shù)法,指的是某格里只剩下唯一的數(shù)字可以填了。 數(shù)獨(dú)中任意一個(gè)格子都可以填入1-9,如果某格的同行、同列和或同宮中已經(jīng)出現(xiàn)了8個(gè)不同的數(shù)字,那么該格只能填入沒(méi)出現(xiàn)的第 9 個(gè)數(shù)字。 這個(gè)思路與排除法不同,排除法是利用已知數(shù)字填出相同的數(shù)字,而唯余法是利用已知數(shù)字填出不同的數(shù)字。 看兩個(gè)例子,一下就理解了 藍(lán)色的 1 這個(gè)格子,和它相關(guān)的行列已經(jīng)有 2-9 了,只剩下一個(gè) 1 沒(méi)有填。 第二個(gè)稍微復(fù)雜一點(diǎn),但還是一樣的,和藍(lán)色 1 有關(guān)的行列宮有 2-9 了 應(yīng)該能理解了吧,具體要怎么用,我后面會(huì)說(shuō) 第三個(gè)方法 數(shù)對(duì)占位法:利用數(shù)對(duì)占位作為間接條件,再配合其他數(shù)字的排除推理的方法。 數(shù)對(duì)是指兩格與兩數(shù)相互對(duì)應(yīng),但還無(wú)法確定兩數(shù)在這兩格中具體的位置。 還是看例子 R4 的 24 和 R6 的 24,讓 B5 的 24 只能出現(xiàn)在 R5C56 C4 的 3 和 C5 的 3 排除完后,B5 的 3 的位置是 R56C6 但 R5C6 已經(jīng)被 24 占據(jù)了,你不能填入 3,3 就只能在 R6C6 了 數(shù)對(duì)最重要的是起一個(gè)占位的作用,雖然我不知道 24 在這兩格里面的具體位置,但我把這兩格占住了,除了 24 其他的都不能填,你填了除 24 外的任何一個(gè)數(shù)字,24 中就有一個(gè)沒(méi)法填了 另外數(shù)對(duì)還有一個(gè)作用是做刪減,上圖這個(gè)例子因?yàn)橥ㄟ^(guò)排除法出來(lái)的,所以沒(méi)有需要?jiǎng)h減的地方,如果有些數(shù)對(duì)是通過(guò)唯一余數(shù)法出來(lái)的,比如還是 24,那么除掉這兩個(gè)格子,其他和這兩個(gè)格子相關(guān)的地方都不能是 24 這個(gè)也能引申到 N 個(gè)有關(guān)系的格子(同一行,同一列,同一宮)總共有 N 個(gè)數(shù)字,那么這 N 格數(shù)字一定在這 N 個(gè)格子里面 后面說(shuō)的我會(huì)專門寫(xiě)一篇來(lái)講,如果現(xiàn)在不理解也沒(méi)關(guān)系 好了,幾個(gè)基礎(chǔ)方法說(shuō)完了,我來(lái)說(shuō)一下遇到一個(gè)數(shù)獨(dú)題目應(yīng)該怎么開(kāi)始 怎么解一個(gè)數(shù)獨(dú) 先看這個(gè)數(shù)獨(dú)已知數(shù)最多的那個(gè)數(shù)字,比如有 6 個(gè) 1,5 個(gè) 4 等等,那么我們先從 1 開(kāi)始,用宮內(nèi)排除法,看看是不是能確定其他 1 的位置,就算不能確定,也先做好筆記,如果已知的只有 1-2 個(gè)就先不看了,超過(guò) 4 個(gè)的都值得先做筆記,這個(gè)時(shí)候一定需要注意看區(qū)塊排除法,區(qū)塊排除法越晚看越不好找到 然后,找相關(guān)已知數(shù)最多的格子,看看唯余法是不是能夠把數(shù)字直接填出來(lái),就算填不出來(lái),也請(qǐng)做好筆記,這個(gè)時(shí)候這個(gè)格子基本只有 2-3 個(gè)候選數(shù) 接下來(lái)找已知數(shù)最多的行,列,宮,比如某一行已經(jīng)有 6 個(gè)數(shù)出現(xiàn)了,只剩下 3 個(gè),先看看能不能填入數(shù)字,如果填不進(jìn)也做好筆記 找數(shù)對(duì),然后再排除 重復(fù)上面的步驟,如果沒(méi)解出來(lái),但應(yīng)該需要把所有格子能夠填入的數(shù)字都做好筆記了 再找一次數(shù)對(duì),做一次排除,這個(gè)時(shí)候大部分的數(shù)獨(dú)就應(yīng)該能解決了。 如果解決不了,說(shuō)明這個(gè)數(shù)獨(dú)的難度超過(guò)了這篇文章所說(shuō)的方法,后續(xù)我還會(huì)接著寫(xiě)更多的方法。 開(kāi)始練習(xí) 這些方法看了容易懂,但怎么用還是得去做數(shù)獨(dú)的題目。解決掉 5 個(gè)數(shù)獨(dú)的題目,這些方法就熟練了。 如果你是 iPhone,我自己寫(xiě)了一個(gè) iOS 版本的數(shù)獨(dú),用這些方法能夠解決 App 里面簡(jiǎn)單和中等難度的題目,更高難度的題目技巧等我后續(xù)文章吧。 Appstore 數(shù)獨(dú)游戲 Android 我看到有一個(gè)全民數(shù)獨(dú)還不錯(cuò) |
|
來(lái)自: 昵稱32901809 > 《待分類》