專案位址 github倉庫
psp 2.1
personal software process stages
預計耗時(分鐘)
實際耗時(分鐘)
planning
計畫50
60estimate
估計這個任務需要多久
300360
development
開發240
270analysis
需求分析
2525
design spec
生成設計文件
6060
design review
設計複審
1010
coding standard
**規範55
design
具體設計
2020
coding
具體編碼
240240
code review
**複審55
test
測試30
30reporting
報告60
60test report
測試報告
size measurement
計算工作量
postmortem & process improvement plan
事後總結,提出過程改進意見
p.s. orz 我是真的好菜啊,都大三了這些東西居然還不會用
需求分析
實現乙個命令列程式,程式能:
生成不重複的數獨終局至檔案
讀取檔案內的數獨問題,求解並將結果輸出到檔案
生成終局
在命令列中使用-c引數加數字n(1<=n<=1000000)控制生成數獨終局的數量,例如下述命令將生成20個數獨終局至檔案中:
sudoku.exe -c 20
將生成的數獨終局用乙個文字檔案(假設名字叫做 sudoku.txt)的形式儲存起來,每次生成的txt檔案需要覆蓋上次生成的txt檔案,檔案內的格式如下,數與數之間由空格分開,終局與終局之間空一行,行末無空格
程式在處理命令列引數時,不僅能處理格式正確的引數,還能處理各種異常的情況,如:
shudoku.exe -c abc
在生成數獨矩陣時,左上角第乙個數為:(學號後兩位相加)%9+1。例如學號後倆位是63,則該數字為(6+3)%9+1 = 1,那麼生成的數獨棋盤的第乙個數字應為1。
求解數獨
在命令列中使用-s引數加檔名的形式求解數獨,並將結果輸出至檔案,如:
sudoku.exe -s absolute_path_puzzlefile
程式將從路徑中讀取數獨題目並將數獨題目的乙個可行解輸出至與sudoku.exe同目錄的sudoku.txt中,要求與生成終局相同。
格式如下,其中0代表空格,題目與題目之間空一行,行末無空格,最後乙個數獨題目後無空行。
sudoku.txt的格式與生成終局的要求相同。
數獨題目個數n(1<=n<=1000000),保證檔案中數獨格式正確。
什麼是數獨
數獨(shù dú)是源自18世紀瑞士的一種數學遊戲。是一種運用紙、筆進行演算的邏輯遊戲。玩家需要根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每乙個粗線宮(3*3)內的數字均含1-9,不重複
軟體工程基礎 個人專案 數獨
任務 實現乙個能夠生成數獨局並且能求解數獨問題的控制台程式。1 github 2 時間耗費 psd2.1 personnal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫40 40.estimate 估計這個任務需要多長時間 developm...
軟體工程基礎 個人專案 數獨(2)
第乙個數字為 9 6 9 1 7 其餘八個數字為1 6,8,9的隨機排序,共8!種 1 從網上查閱資料得知,如果從第二行開始,每行為第一行左移3 6 1 4 7 2 5 8的結果,則生成的結果為合格的數獨終局 2 隨意交換數獨的1 2 3行,4 5 6行,7 8 9行,或者交換1 2 3列,4 5 ...
軟體工程基礎 個人專案 數獨(5)
1.生成終局時,加入2,3 4,5,6 7,8,9行交換的情況以增加不重複的終局數量 原情況下,第2 9行為第一行左移固定數量得到,移動量由陣列move陣列儲存,行交換的實現只需交換對應的移動量。將move陣列設為二維陣列,每一行對應乙個移動量的情況,共72行。將原 中move的使用方式 num i...