这阵子迷上了一种叫做“数独”的数字游戏。《新闻晨报》每周四都有一个题目,有时《时代报》也有,每天睡觉前研究一下,也是很有意思的事情。

这里要讲的不是“数独”怎么去解,而是我有趣的解题水平。

第一次做题,我用了最笨的穷举法。某个格子里有几种可能数字,然后选一条路做做看,直到做到矛盾之处,便从分叉处重来。第一次用了快一周,到第二周有新题目,上期答案出来时,我也差不多做完。

第二次有了些经验,觉得穷举太累,便改用电脑操作。电脑里的数字错了可以改,而且可以用不同颜色标识,可以分析和总结,这样快了一些。不过还是花了四个晚上才完工。中间遇到两次出错矛盾,退回重来,很是泄气。

这周放假在家,心不死,继续做周四的题目。研究、思考了好久,突然发现解题的方案不在于穷举,而大部分在于“排除”。这个数字不能在这里、不能在那里,就只能在某个格子。
谁料一通百通,解题速度大大加快。

经过算法改进,目前完成一个数独的时间,快则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


[点击此处收藏本文]  发表于2006年06月11日 9:13 PM




正在读取评论……
添加评论
大名
网址


验证码
评论