軟體工程基礎 個人專案 數獨(2)

2021-10-01 20:01:16 字數 356 閱讀 4410

第乙個數字為(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、6列,7、8、9列並不會影響數獨的合格性。但在交換行的基礎上交換列可能產生與已生成結果相同的情況,過列與行的交換不能同時採用。此外若不固定第一行或第一列仍可能出現相同的結果,故採用行交換時應固定第一行不動。

計算機解數獨的方法我所能掌握並實現的只有深度搜尋。但數獨的深度遍歷運算量必定很大,在具體實現時應該考慮剪枝等優化操作。

軟體工程基礎 個人專案 數獨

任務 實現乙個能夠生成數獨局並且能求解數獨問題的控制台程式。1 github 2 時間耗費 psd2.1 personnal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫40 40.estimate 估計這個任務需要多長時間 developm...

軟體工程個人專案 數獨

專案位址 github倉庫 psp 2.1 personal software process stages 預計耗時 分鐘 實際耗時 分鐘 planning 計畫50 60estimate 估計這個任務需要多久 300360 development 開發240 270analysis 需求分析 2...

軟體工程基礎 個人專案 數獨(5)

1.生成終局時,加入2,3 4,5,6 7,8,9行交換的情況以增加不重複的終局數量 原情況下,第2 9行為第一行左移固定數量得到,移動量由陣列move陣列儲存,行交換的實現只需交換對應的移動量。將move陣列設為二維陣列,每一行對應乙個移動量的情況,共72行。將原 中move的使用方式 num i...