基本解法舉例
數(shù)獨(dú)解法全是由規(guī)則衍生出來(lái)的,基本解法分為兩類(lèi)思路,一類(lèi)為排除法,一類(lèi)為唯一法。更復(fù)雜的解法,最終也會(huì)歸結(jié)到這兩大類(lèi)中。 下邊以圖示簡(jiǎn)單介紹幾種解法,只要你花幾分鐘看一遍,馬上就可以開(kāi)始做數(shù)獨(dú)了。
基礎(chǔ)摒除法
基礎(chǔ)摒除法就是利用1 ~ 9 的數(shù)字在每一行、每一列、每一宮都只能出現(xiàn)一次的規(guī)則進(jìn)行解題的方法。基礎(chǔ)摒除法可以分為行摒除、列摒除、九宮格摒除。
實(shí)際尋找解的過(guò)程為:
尋找九宮格摒除解:找到了某數(shù)在某一個(gè)九宮格可填入的位置只余一個(gè)的情形;意即找到了 該數(shù)在該九宮格中的填入位置。
尋找列摒除解:找到了某數(shù)在某列可填入的位置只余一個(gè)的情形;意即找到了該數(shù)在該列中的填入位置。
尋找行摒除解:找到了某數(shù)在某行可填入的位置只余一個(gè)的情形;意即找到了該數(shù)在該行中的填入位置。
基礎(chǔ)摒除法的提升方法是區(qū)塊摒除法,是直觀法中使用頻率最高的方法之一.
唯一解法
當(dāng)某行已填數(shù)字的宮格達(dá)到8個(gè),那么該行剩余宮格能填的數(shù)字就只剩下那個(gè)還沒(méi)出現(xiàn)過(guò)的數(shù)字了。成為行唯一解.
當(dāng)某九宮格已填數(shù)字的宮格達(dá)到8個(gè),那么該九宮格剩余宮格能填的數(shù)字就只剩下那個(gè)還沒(méi)出現(xiàn)過(guò)的數(shù)字了。成為九宮格唯一解.
唯余解法
唯余解法就是某宮格可以添入的數(shù)已經(jīng)排除了8個(gè),那么這個(gè)宮格的數(shù)字就只能添入那個(gè)沒(méi)有出現(xiàn)的數(shù)字.
區(qū)塊摒除法
區(qū)塊摒除法是基礎(chǔ)摒除法的提升方法,是直觀法中使用頻率最高的方法之一.
余數(shù)測(cè)試法
所謂余數(shù)測(cè)試法就是在某行或列,九宮格所填數(shù)字比較多,剩余2個(gè)或3個(gè)時(shí),在剩余宮格添入值進(jìn)行測(cè)試的解題方法.
隱性唯一候選數(shù)法
當(dāng)某個(gè)數(shù)字在某一列各宮格的候選數(shù)中只出現(xiàn)一次時(shí),那么這個(gè)數(shù)字就是這一列的唯一候選數(shù)了.這個(gè)宮格的值就可以確定為該數(shù)字. 這時(shí)因?yàn)椋凑諗?shù)獨(dú)游戲的規(guī)則要求每一列都應(yīng)該包含數(shù)字1~9,而其它宮格的候選數(shù)都不含有該數(shù),則該數(shù)不可能出現(xiàn)在其它的宮格,那么就只能出現(xiàn)在這個(gè)宮格了. 對(duì)于唯一候選數(shù)出現(xiàn)行,九宮格的情況,處理方法完全相同。
三鏈數(shù)刪減法
找出某一列、某一行或某一個(gè)九宮格中的某三個(gè)宮格候選數(shù)中,相異的數(shù)字不超過(guò)3個(gè)的情形, 進(jìn)而將這3個(gè)數(shù)字自其它宮格的候選數(shù)中刪減掉的方法就叫做三鏈數(shù)刪減法。
隱性三鏈數(shù)刪減法
在某行,存在三個(gè)數(shù)字出現(xiàn)在相同的宮格內(nèi),在本行的其它宮格均不包含這三個(gè)數(shù)字,我們稱(chēng)這個(gè)數(shù)對(duì)是隱形三鏈數(shù).那么這三個(gè)宮格的候選數(shù)中的其它數(shù)字都可以排除.
當(dāng)隱形三鏈數(shù)出現(xiàn)在列,九宮格,處理方法是完全相同的.
------------------------------------------------------
修改為:在某行,存在三個(gè)候選數(shù)字分別出現(xiàn)在三個(gè)宮格內(nèi),
在本行的其它宮格均不包含這三個(gè)數(shù)字,我們稱(chēng)這個(gè)數(shù)對(duì)是隱形三鏈數(shù).那么這三個(gè)宮格的其它候選數(shù)都可以排除.
當(dāng)隱形三鏈數(shù)出現(xiàn)在列,九宮格,處理方法是完全相同的
或者: 利用“找出某3個(gè)數(shù)字僅出現(xiàn)在某行、某列或某一個(gè)九宮格的某三個(gè)宮格候選數(shù)中的情形,進(jìn)而將這三個(gè)宮格的候選數(shù)刪減成該3個(gè)數(shù)字”的方法就叫做隱性三鏈數(shù)刪減法(Hidden Triples)。
矩形頂點(diǎn)刪減法
矩形頂點(diǎn)刪減法和直觀法講到的矩形摒除法分析方法是一樣的。矩形頂點(diǎn)刪減法在識(shí)別時(shí)比較不容易找到,所以最好先使用其它的方法。
三鏈列刪減法
三鏈列刪減法是矩形頂點(diǎn)刪減法的擴(kuò)展,如果不清楚矩形頂點(diǎn)刪減法,可以參考矩形頂點(diǎn)刪減法,以便于更容易理解本節(jié)內(nèi)容。 利用“找出某個(gè)數(shù)字在某三列僅出現(xiàn)在相同三行的情形,進(jìn)而將該數(shù)字自這三行其他宮格候選數(shù)中刪減掉”; 或“找出某個(gè)數(shù)字在某三行僅出現(xiàn)在相同三列的情形,進(jìn)而將該數(shù)字自這三列其他宮格候選數(shù)中刪減掉”的方法 就叫做三鏈列刪減法。
關(guān)鍵數(shù)刪減法
在進(jìn)入到解題后期,利用前面講到的唯一候選數(shù)法、隱性唯一候選數(shù)法、 區(qū)塊刪減法、數(shù)對(duì)刪減法、隱性數(shù)對(duì)刪減法、 三鏈數(shù)刪減法、隱性三鏈數(shù)刪減法、矩形頂點(diǎn)刪減法、 三鏈列刪減法都無(wú)法有進(jìn)展的時(shí)候,可以考慮使用關(guān)鍵數(shù)刪減法。關(guān)鍵數(shù)刪減法就是在后期找到一個(gè)數(shù),這個(gè)數(shù)在行(或列,九宮格)僅出現(xiàn)兩次的數(shù)字。我們假定這個(gè)數(shù)在其中一個(gè)宮格類(lèi),繼續(xù)求解,如果發(fā)生錯(cuò)誤,則確定我們的假設(shè)錯(cuò)誤。如果繼續(xù)求解仍然出現(xiàn)困難,不妨假設(shè)這個(gè)數(shù)在另外一個(gè)宮格,看能不能得到錯(cuò)誤。這就是關(guān)鍵數(shù)刪減法.
排除法
當(dāng)某一列,某一行或某一宮里已填7個(gè)數(shù)字時(shí),可采用排除法,排除不可能出現(xiàn)在這個(gè)格子的數(shù),從而確定格子里應(yīng)該填什么數(shù)。比如某一行已填1,3,4,5,7,8,9,還剩2,6,而其中一個(gè)空格所在的列上已有了2,可知這個(gè)空格里不可能是2,那么另外一個(gè)空格里一定是2,那么這個(gè)空格里一定是6。
當(dāng)某一列,某一行或某一宮里已填6個(gè)數(shù)字時(shí),也可采用排除法。 |