数独 C语言思路

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:30:07
请高手或有经验的人提供点思路,我想自己做一个解数独的C语言程序。越详细越好。好的我加分

我的想法是:
1.对每一个空格,根据规则推断它可能填入的数字,并存储它的所有可能值;
2.根据可能值的个数,确定填写的顺序。比如说,有些空格只有一种可能,那必然是正确的结果,首先填入。
3.将所有只有一种可能的空格填写完毕以后,回到步骤1,重新确定剩下空格的可能值;
4.当没有只有一种可能的空格时(即每个空格都有两种以上可能),按照可能值个数从小到大的顺序,使用深度(广度)优先搜索,完成剩下空格。

上面方法应该可以解决问题,
也可以这样改进:
第4步,使用深度优先搜索时,每确定一个空格填写后,回到执行步骤1。

说的有点乱,希望你能明白我的意思。如有需要解释的,发消息给我。谢谢