【bitse——sudoku】2.数独求解1

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wlh1998/article/details/85237793

数独求解的基本方法是根据规则,暴力搜索。所以先实现了一个暴力求解版本。代码在12.21完成,由于考试复习,今天更新博客。

手工求解数独的过程大概如下:

寻找这样的空格:他所在的行,列,九宫格中已出现八个不同的数字。则剩余唯一数字必为所填数字。通过不断寻找,得到解。

通过手工方式的启发,抽象出以下的暴力算法:

寻找一个空格:

    通过findvalid函数寻找可行的数字。

    如果有可行数字,对每个数字,填入,对填入后的题目进行求解,如果求解失败,填下一个数字,再求解。

    如果没有可行数字,说明之前可行数字不合法,返回失败。

可能优化:

如果只有一个可行解,则其为确定的,不再置为空。

仿照人工方式,每次寻找只有一个可行解的情况。

猜你喜欢

转载自blog.csdn.net/wlh1998/article/details/85237793