个人项目问题分析

一、需求分析

数据流图

0层图:
0层
1层图:
111
2层图:
2层图

程序流程图

流程

二、问题解决思路

在从网上查阅了很多关于求解数独的资料后,再加上题目要求的范围再1到1000000之间,认识到在这个数据量范围内,可以通过深度优先搜索加回溯来解决这个问题。
参考的文章:链接
那么基本的解题思路大概如下:
1、生成数独终局。
题目要求数独第一个数字为学号后两位模10再加1,我的学号对应的第一位数字应为2。在确定第一个数字后,递归调用create(i,j)函数,第一次i=0,j=1代表从第0行(即第一行,数组下标从0开始),第1个数字(即第2个数字)开始,之后每次确定完数字后调用create(i,j+1)即深度优先搜索,该换行时换行,当有位置1-9任何一个数字都无法满足时,先暂时把当前位置为0,回溯修改之前的值。直到生成一个数独终局,到生成指定数量的数独终局后结束。
2、求解数独终局。
求解与生成的基本思路相似。不同之处在于跳过不为0的值。

具体的代码实现见下一篇博客,问题设计

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值