作者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)
1F:推 thea:未看完先推一个 XDXDXDDDDDD 望月玩游戏都好认真!!! 09/14 04:56
2F:推 bbrret:跟我的方法一样~我也从来没在旁边注记小数字 09/14 09:59
3F:推 gwendless:里A这麽晚都还没睡阿XD 09/14 11:51
4F:推 GATINHA:我是到中级有一滴汗滴,就开始很辛苦了.. 09/14 21:54
5F:→ GATINHA:要不然就是一堆空格,又没重覆数字,很难推得出来..>"< 09/14 21:55
6F:推 auk109:看完这篇才发现~原来我的解法是没办法中的办法..XD..学起来 09/15 09:27
7F:推 okokok:这方法真快耶... 09/16 22:21
8F:推 KAEDA:我也从未用Try and Error,我甚至认为绝对不会用到这个方法 09/26 00:47
9F:→ KAEDA:因为'数独'是唯一解, 所以应该不会用猜的方式来解 09/26 00:48
10F:→ KAEDA:不过没办法证明此论点~ 不过我曾试着用程式,也就是所谓的AI 09/26 00:50
11F:→ KAEDA:来算出解, 不过最近小忙所以懒~ 不过如何设计题目, 似乎也蛮 09/26 00:51
12F:→ KAEDA:有趣的~ 有空来想想~ :D 09/26 00:52