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

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

 

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

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

 

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

寻找一个空格:

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

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

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

 

 

可能优化:

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

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值