作者gwendless (望月無願)
看板puzzle
標題Re: [請益] 解數獨之技巧
時間Thu Sep 14 03:03:58 2006
※ 引述《GATINHA (用生命愛保齡球與肚皮舞)》之銘言:
: 昨晚第一次玩數讀。不過我是買書局賣的一本一本的。
: 買的是日本格林出品,上面寫著正宗數獨發源地正版授權。
: 沒想到easy level,我還有辦法解。
: 但到medium level,就解得很辛苦...
: 有時提示的數字真的無法猜出其中空格能填什麼。
: 要不然就是先填了一個數,到後面有些地方就因那個數字,而無法填下去。
: 想請問數獨高手們,解數獨,是否有什麼技巧呢??
: 謝謝!!
我最難解過黑色那本的第99題...而且沒有用到Try and error 也就是所謂試誤法
很早以前我注意到捷運上有人在玩數獨的時候
當時的人解法大多都是從數字比較密集的地方下手,然後小小列出各格的可能數字
之後再用四面八方的條件限制來搞刪去法,最後就會得到一個又一個的確定值
但是我個人覺得這是沒有辦法中的辦法,僅次於Try and error的最終次要手段
也許我的想法跟刪去的方式大同小異,但在我的本子上很少會看到小數字的
就拿我手邊的格林第5本的第25題(medium無汗滴)來做例子ꘊ
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗ 首先大致觀察一下每種數字的個數
║ │ │ ║ │ │ ║ │ │ ║ 一般從數量多或者位置較有利的下手
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │2│ ║8│ │ ║6│ │5║ 1:三個
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 2:四個
║ │4│8║6│ │ ║2│7│1║ 3:三個
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 4:兩個
║ │1│ ║2│ │ ║3│ │4║ 5:三個
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 6:四個
║ │ │ ║ │ │ ║ │ │ ║ 7:三個
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 8:四個
║5│ │6║ │ │7║ │8│ ║ 9:一個
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │ │5║1│6│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │ │ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │ │ ║ │ │ ║x│x│
3║
╟─┼─┼─╫─┼─┼─╫↑┼↑┼─╢
║ │2│ ║8│ │ ║6│x│5║ 利用已知數字的位置關係做尋找
╟─┼─┼─╫─┼─┼─╫↑┼↑┼─╢
║ │4│8║6│ │ ║2│7│1║ 9個數字彼此並沒有順序性,不妨先鎖定3
╠═╪═╪═╬═╪═╪═╬↑╪↑╪═╣
║ │1│ ║2│ │ ║3│ │4║ 注意右邊的三個九宮格,下面兩個3往上推
╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢
║ │ │ ║ │ │ ║ │ │ ║ 可以限制住右上九宮格中,3的位置
╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢
║5│ │6║ │ │7║ │8│ ║ 這樣就輕鬆找出一個3了
╠═╪═╪═╬═╪═╪═╬═╪↑╪═╣
║3│9│7║ │ │5║1│6│ ║
╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │ │ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │ │ ║ │ │ ║ │ │3║ 依序,我們可以照這種方式
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │2│ ║8│ │ ║6│ │5║ 再推出一個6
╟─┼─┼─╫─┼─┼─╫↓┼─┼─╢
║ │4│8║6│ │ ║2│7│1║
╠═╪═╪═╬═╪═╪═╬↓╪═╪═╣
║ │1│ ║2│ │ ║3│x│4║
╟─┼─┼─╫─┼─┼─╫↓┼↑┼─╢
║ │ │ ║ │ │ ║x│x│
6║
╟─┼─┼─╫─┼─┼─╫↓┼↑┼─╢
║5│ │6→ → →7→x→8→x║
╠═╪═╪═╬═╪═╪═╬═╪↑╪═╣
║3│9│7║ │ │5║1│6│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │ │ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗ 接著是兩個8...
║ │ │ ║ │ │ ║
8│x│3║
╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢
║ │2│ ║8│ │ ║6│x│5║
╟─┼─┼─╫─┼─┼─╫─┼↑┼─╢
║ │4│8║6│ │ ║2│7│1║
╠═╪═╪↓╬═╪═╪═╬═╪↑╪═╣
║x│1│x║2│ │ ║3│ │4║
╟↑┼─┼↓╫─┼─┼─╫─┼↑┼─╢
║x│
8│x║ │ │ ║ │ │6║
╟↑┼─┼─╫─┼─┼─╫─┼↑┼─╢
║5│x←6← ← ←7← ←8│ ║
╠↑╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │ │5║1│6│ ║
╟↑┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │ │ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │
7│ ║ │ │ ║8│ │3║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 依照7、5、2的順序
║ │2│ ║8│
7│ ║6│ │5║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 以及同樣的直橫交錯九宮限制法
║ │4│8║6│ │ ║2│7│1║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 就可以解出大量的數字
║
7│1│ ║2│ │ ║3│ │4║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │8│ ║ │ │ ║
7│ │6║ 首先是7
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║5│ │6║ │ │7║ │8│ ║ 這裡就不提供像上面的箭頭及順序了
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │ │5║1│6│ ║ 請自己想像
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │ │ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │7│
5║ │ │
2║8│ │3║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 接著推出各個5,再來是2
║ │2│ ║8│7│ ║6│ │5║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │4│8║6│
5│ ║2│7│1║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║7│1│ ║2│ │ ║3│
5│4║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║
2│8│ ║
5│ │ ║7│ │6║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║5│ │6║ │ │7║ │8│
2║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │
2│5║1│6│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │
2│ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │7│5║ │ │2║8│ │
3║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 先前已經檢驗過一次的3,
║ │2│
3║8│7│ ║6│ │5║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 因為現在很多格子的限制變嚴格了
║ │4│8║6│5│
3║2│7│1║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 又可以回頭檢驗3在各九宮格中的限制
║7│1│ ║2│ │ ║3│5│4║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║2│8│ ║5│ │ ║7│ │6║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║5│
3│6║ │ │7║ │8│2║ 接下來就輕鬆了,因為很多直橫行
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │2│5║1│6│ ║ 甚至是九宮格內的未知數字都降到三個以下
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║ 甚至僅剩一個未知數的
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │2│ ║ 找數字的速度會加快很多
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║ │7│5║ │ │2║8│ │3║ 進入中後盤,從剩餘空格不大於三個的
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │2│3║8│7│ ║6│ │5║ 開始找起
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║
9│4│8║6│5│3║2│7│1║ 看看是否有空缺的數字
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║7│1│
9║2│ │ ║3│5│4║ 來藉由推導位置法 限制出答案來
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║2│8│
4║5│ │ ║7│
1│6║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║5│3│6║ │ │7║
9│8│2║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║ │2│5║1│6│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│ │2║ │ │1║ │3│ ║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║ │ │ ║ │ │ ║ │2│ ║
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
╔═╤═╤═╦═╤═╤═╦═╤═╤═╗
║6│7│5║9│1│2║8│4│3║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║1│2│3║8│7│4║6│9│5║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║9│4│8║6│5│3║2│7│1║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣ 最終盤就是一些零碎的小整理了
║7│1│9║2│8│6║3│5│4║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 難度會隨著數字的減少而降低
║2│8│4║5│3│9║7│1│6║
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢ 左邊是參考解答
║5│3│6║1│4│7║9│8│2║
╠═╪═╪═╬═╪═╪═╬═╪═╪═╣
║3│9│7║4│2│5║1│6│8║ 寫這篇文章之前,我大概用了5分鐘左右
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║8│5│2║7│6│1║4│3│9║ 解過這一題了
╟─┼─┼─╫─┼─┼─╫─┼─┼─╢
║4│6│1║3│9│8║5│2│7║ 剩下的零碎數字用你自己的解法應該可以吧
╚═╧═╧═╩═╧═╧═╩═╧═╧═╝
--
呼 好累
明天可以晚起也不是這樣虛耗的XD
--
=頭文字D Arcade Ver.3=
ID :ムガン
車種:Toyota MR-2 G-Limited [sw20] (黑)
積分:480萬 對戰Lv.19,走り屋Lv.16
home course:秋名(下り),time attack 3'03"693
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.235.153
※ 編輯: gwendless 來自: 61.216.235.153 (09/14 03:09)
推 thea:未看完先推一個 XDXDXDDDDDD 望月玩遊戲都好認真!!! 09/14 04:56
推 bbrret:跟我的方法一樣~我也從來沒在旁邊註記小數字 09/14 09:59
推 gwendless:裏A這麼晚都還沒睡阿XD 09/14 11:51
推 GATINHA:我是到中級有一滴汗滴,就開始很辛苦了.. 09/14 21:54
→ GATINHA:要不然就是一堆空格,又沒重覆數字,很難推得出來..>"< 09/14 21:55
推 auk109:看完這篇才發現~原來我的解法是沒辦法中的辦法..XD..學起來 09/15 09:27
推 okokok:這方法真快耶... 09/16 22:21
推 KAEDA:我也從未用Try and Error,我甚至認為絕對不會用到這個方法 09/26 00:47
→ KAEDA:因為'數獨'是唯一解, 所以應該不會用猜的方式來解 09/26 00:48
→ KAEDA:不過沒辦法證明此論點~ 不過我曾試著用程式,也就是所謂的AI 09/26 00:50
→ KAEDA:來算出解, 不過最近小忙所以懶~ 不過如何設計題目, 似乎也蠻 09/26 00:51
→ KAEDA:有趣的~ 有空來想想~ :D 09/26 00:52