代码改变世界

数独小研究

2011-11-07 15:15  v2m  阅读(1046)  评论(1编辑  收藏  举报

  研究了下数独,写了一个解数独的程序,用二维数组存储数独每个格子数据,每个格子的结构是{真实值,可能值,可能值个数,当前取可能值的位置},用了像八皇后那样的回溯搜索算法,每次取得81个中可能值个数最小的那个单元格赋值尝试,遇到判断失败就回溯.判断失败主要就是某个未赋值的单元格没有可能取值.流程图如下:

 

一些数独的技巧:

http://blog.csdn.net/mathe/article/details/1755672

感觉如果这些技巧全部用程序写完,很多都能直接出来结果而不用这样尝试搜索,更加效率一点?

 

源码:sudoku.zip