2017BUAA软工个人作业Week1
大概的功能已经满足
暂时只能用debug中的exe文件
正在改进。。。
https://github.com/qwellk/project1/tree/product1
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 60 |
· Estimate | · 估计这个任务需要多少时间 | 60 | 60 |
Development | 开发 | 740 | 1140 |
· Analysis | · 需求分析 (包括学习新技术) | 100 | 180 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 (和同事审核设计文档) | 0 | 0 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 30 |
· Design | · 具体设计 | 40 | 60 |
· Coding | · 具体编码 | 480 | 840 |
· Code Review | · 代码复审 | 30 | 30 |
· Test | · 测试(自我测试,修改代码,提交修改) | 90 | 120 |
Reporting | 报告 | 30 | 30 |
· Test Report | · 测试报告 | 20 | 20 |
· Size Measurement | · 计算工作量 | 0 | 0 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 830 | 1230 |
解题思路
数独解法:先确定每个格子的可选范围,然后从可选最少的格子开始选数,递归下去,直到填满。
生成数独:由于每个数独都有很多变形,确定生成个数后,用数独解法产生几个数独模板,然后变形。
数独题目和解
000000010400000000020000000000050407008000300001090000300400200050100000000806000
000000010400000000020000000000050604008000300001090000300400200050100000000807000
000000012000035000000600070700000300000400800100000000000120000080000040050000600
000000012008030000000000040120500000000004700060000000507000300000620000000100000
000000012040050000000009000070600400000100000000000050000087500601000300200000000
000000012050400000000000030700600400001000000000080000920000800000510700000003000
000000012300000060000040000900000500000001070020000000000350400001400800060000000
000000012400090000000000050070200000600000400000108000018000000000030700502000000
000000012500008000000700000600120000700000450000030000030000800000500700020000000
000000012700060000000000050080200000600000400000109000019000000000030800502000000
000000012800040000000000060090200000700000400000501000015000000000030900602000000
000000012980000000000600000100700080402000000000300600070000300050040000000010000
000000013000030080070000000000206000030000900000010000600500204000400700100000000
000000013000200000000000080000760200008000400010000000200000750600340000000008000
000000013000500070000802000000400900107000000000000200890000050040000600000010000
000000013000700060000508000000400800106000000000000200740000050020000400000010000
000000013000700060000509000000400900106000000000000200740000050080000400000010000
693784512487512936125963874932651487568247391741398625319475268856129743274836159
793684512486512937125973846932751684578246391641398725319465278857129463264837159
673894512912735486845612973798261354526473891134589267469128735287356149351947628
346795812258431697971862543129576438835214769764389251517948326493627185682153974
598463712742851639316729845175632498869145273423978156934287561681594327257316984
364978512152436978879125634738651429691247385245389167923764851486512793517893246
649835712358217964172649385916784523834521679725963148287356491591472836463198257
367485912425391867189726354873254196651973428294168573718649235946532781532817649
378694512564218397291753684643125978712869453859437261435971826186542739927386145
346895712725361984198427356984256173651783429273149568819674235467532891532918647
349756812826143579157829364593264187761398425284571693915487236478632951632915748
546938712987421536213675498165794283432186975798352641871269354659843127324517869
869725413512934687374168529798246135231857946456319872683571294925483761147692358
562874913839215647174639582345761298728953461916482375283196754651347829497528136
572649813986531472314872596238457961167298345459163287893726154741385629625914738
867942513254731968319568724532496871196827345478153296743689152621375489985214637
967248513254731869318569724835426971126987345479153286743692158681375492592814637
总体
没想到会花这么多时间进去,其中有210是学习语言和熟悉git和vs的,剩下5/10是具体编写代码的,3/10是调bug的。
因为一开始就想让它的效率提高,加上没怎么规划,写的时候又想保持代码较好的组织结构,导致分了很多方法,也花了更多的时间进去。
最后为了赶时间,导致很多地方代码风格和结构不好,关于求解数独和生成数独好像还有bug,有时间慢慢改。
继续补充。。。