这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业的要求在那里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10494 |
这个作业的目标 | 数独 |
作业正文 | 如下 |
其他参考文献 | 百度、博客、同学2 |
Github地址
1.GitHub地址
https://github.com/Haa123-oss/-20177612/new/master
2.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 20 | 45 |
Estimate | 估计这个任务需要多少时间 | 60 | 120 |
Development | 开发 | 90 | 200 |
Analysis | 需求分析 (包括学习新技术) | 90 | 120 |
Design Spec | 生成设计文档 | 30 | 50 |
Design Review | 设计复审 | 10 | 20 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 35 |
Design | 具体设计 | 25 | 40 |
Coding | 具体编码 | 200 | 500 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 90 | 120 |
Reporting | 报告 | 60 | 120 |
Test Report | 测试报告 | 60 | 80 |
Size Measurement | 计算工作量 | 40 | 80 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 60 | 200 |
合计 | 915 | 1790 |
题目叙述:数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。
具体任务:
现在我们想一步一步来,完成从三宫格到九宫格的进阶;完成三宫格和其他博客任务,就算过了初级考核,其他的算升级。具体各阶规则如下:
三宫格:盘面是33。使1-3每个数字在每一行、每一列中都只出现一次,不考虑宫;
四宫格:盘面是22四个宫,每一宫又分为22四个小格。使1-4每个数字在每一行、每一列和每一宫中都只出现一次;
五宫格:盘面是55。使1-5每个数字在每一行、每一列中都只出现一次,不考虑宫;
六宫格:盘面是23六个宫,每一宫又分为32六个小格。使1-6每个数字在每一行、每一列和每一宫中都只出现一次;
七宫格:盘面是77。使1-7每个数字在每一行、每一列中都只出现一次,不考虑宫;
八宫格:盘面是42八个宫,每一宫又分为24八个小格。使1-8每个数字在每一行、每一列和每一宫中都只出现一次;
九宫格:盘面是33九个宫,每一宫又分为3*3九个小格。使1-9每个数字在每一行、每一列和每一宫中都只出现一次;
解题思路:因为自己从没玩过数独,百度了很多数独的解法,看到了一种自己能看懂的解法。想着从三宫格一直扩展到九宫格。数独的要求是在9*9宫格中每一行,每一列,每一个3*3的小九宫格都是由1到9不重复的数字组成的。(1)行交换或者列交换的时候,行和列的值不会改变(2)在一个数独矩阵里,全部相同数值交换是不会破坏数独的基本格式大致只能想到这些了设计实现:(1)首先构建一个可行的数独 (2)产生1到9不重复的1随机数和熟读棋盘里从1到9的数进行替换 (3)每一个数都交换之后,就会开始九宫格行列的交换参数是:m代表数独的阶数 n代表输入的次数 i代表输入 o代表输出
摘要代码
已经调试好了却突然出现了一个异常,我懵了
中途电脑崩了。。。。。我太难了
2000年过后,一直就处于崩盘之中,不知道咋整了
总结
一言难尽,从一开始就有点摸不着头脑,可能蠢了点吧。连个数独都不会玩。。。好不容易想通了,der!啥也不是,找了很多资料才完成一些思路设计。后面一些计算费了很大功夫,有点东西出来了,其实大致意思还是不太清楚,好不容易到了调试部分了,卡的死死死的我晕了。。。从以前到现在其实很少真正的去动手写完整一些东西。很多缺漏一下子就体现出来了。只能说基础差啊。连用的几个软件还总是搞错了,看演示视频还花了很多时间。
自己打个分
作业头 | GitHub地址 | 代码要求。。。 | 估计 | 实际 | 解题思路描述 | 代码如何组织 | 关键函数画出流程图 | 单元测试设计 | 再找出性能瓶颈 | 改进 | 展示关键代码 | 解释思路与注释说明 | 心路历程和想法 | 总分 |
2 | 1 | 0 | 0.5 | 0.5 | 1 | 0.5 | 0.5 | 0.5 | 1 | 7.5 |