天天看點

2017BUAA軟工個人作業Week1

大概的功能已經滿足

暫時隻能用debug中的exe檔案

正在改進。。。

https://github.com/qwellk/project1/tree/product1

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃  60
· Estimate · 估計這個任務需要多少時間
Development 開發 740  1140
· Analysis · 需求分析 (包括學習新技術)  100  180
· Design Spec · 生成設計文檔
· Design Review · 設計複審 (和同僚稽核設計文檔)
· Coding Standard · 代碼規範 (為目前的開發制定合适的規範)  30
· Design · 具體設計  40
· Coding · 具體編碼  480  840
· Code Review · 代碼複審
· Test · 測試(自我測試,修改代碼,送出修改)  90  120
Reporting 報告
· Test Report · 測試報告  20
· Size Measurement · 計算工作量
· Postmortem & Process Improvement Plan · 事後總結, 并提出過程改進計劃  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,有時間慢慢改。

繼續補充。。。