这阵子迷上了一种叫做“数独”的数字游戏。《新闻晨报》每周四都有一个题目,有时《时代报》也有,每天睡觉前研究一下,也是很有意思的事情。
这里要讲的不是“数独”怎么去解,而是我有趣的解题水平。
第一次做题,我用了最笨的穷举法。某个格子里有几种可能数字,然后选一条路做做看,直到做到矛盾之处,便从分叉处重来。第一次用了快一周,到第二周有新题目,上期答案出来时,我也差不多做完。
第二次有了些经验,觉得穷举太累,便改用电脑操作。电脑里的数字错了可以改,而且可以用不同颜色标识,可以分析和总结,这样快了一些。不过还是花了四个晚上才完工。中间遇到两次出错矛盾,退回重来,很是泄气。
这周放假在家,心不死,继续做周四的题目。研究、思考了好久,突然发现解题的方案不在于穷举,而大部分在于“排除”。这个数字不能在这里、不能在那里,就只能在某个格子。
谁料一通百通,解题速度大大加快。
经过算法改进,目前完成一个数独的时间,快则20分钟,慢则1小时,跟之前的蜗牛爬真不可同日而语。
总结下来,我大致花了两-三个星期来摸索解题的法子,当一旦找到好的方法后,一个星期的活在1小时内便可以完成。想想,做网站也是这样的。
放一个题目在这里,谁要是有兴趣,不妨耶做做看:
| | 8 | 1 | | | | | 7 |
| 5 | | | 3 | | | 1 | |
| 9 | 4 | | | 7 | 2 | | |
5 | | | 6 | | 2 | 3 | | |
| | 2 | | | | | | |
9 | 4 | | | 1 | | | | 5 |
7 | | | | | 9 | 6 | 5 | |
| 8 | | | | | | | |
6 | | 9 | | 7 | | | | 4 |
数独规则: 在空白的地方填上数字,让每一行、每一列、每一个同色的方框中,1-9的九个数字只出现一次
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=912232