研究了下数独,写了一个解数独的程序,用二维数组存储数独每个格子数据,每个格子的结构是{真实值,可能值,可能值个数,当前取可能值的位置},用了像八皇后那样的回溯搜索算法,每次取得81个中可能值个数最小的那个单元格赋值尝试,遇到判断失败就回溯.判断失败主要就是某个未赋值的单元格没有可能取值.流程图如下:
一些数独的技巧:
http://blog.csdn.net/mathe/article/details/1755672
感觉如果这些技巧全部用程序写完,很多都能直接出来结果而不用这样尝试搜索,更加效率一点?
源码:sudoku.zip