關於數獨遊戲的實現(二)

2021-08-18 17:11:01 字數 1637 閱讀 1150

接上一版

4)設計實現過程。

整個程式實現大體是使用c語言完成的,一共設計了8個函式。分別有判錯,處理-c命令,處理-s命令,dfs搜尋等等類別。

5)程式改進。

之前的想法是裸爆搜,寫完之後發現真的是太慢了,跑10000組用例就需要4s鐘。後來 改進了演算法之後,100w也能夠在2s左右跑完。下面展示 效能分析圖。

前後 兩次對比可以發現,效能有些變化。下面這個是單獨的對函式和變數的測試,createjgg是呼叫最多的函式。

6)**說明。

1>define.h展示

寫專案之前要提前設計好整個程式的框架,在這個標頭檔案裡我提前定義好了所有的函式名以及它們的用途。

2>主函式

主函式比較簡潔明瞭,因為大部分函式都已經成塊,只要在主函式裡面呼叫就好了。

然後一些小判斷,加上-c,-s處理了。

-c就是組合數變換,-s就是dfs爆搜。簡單明瞭,效率還行。生成100w需要2s,解100w4,5min鐘。

psp;

psp2.1

personal software process stages

預估耗時(min)

實際耗時(min)

planning

計畫estimate

估計這個任務需要多少時間

development

開發analysis

需求分析(包括學習新技術)

design spec

生成設計文件

design review

設計複審(和同事審核設計文件)

coding standard

**規範(為目前的開發制定合適的規範)

design

具體設計

coding

具體編碼

code review

**複審

test

測試(自我測試,修改**,提交修改)

reporting

報告test report

測試報告

size measurement

計算工作量

postmortem & process improvement plan

事後總結,並提出過程改進計畫

合計

leetcode 數獨遊戲

第乙個問題 用程式實現數獨的出題,而不是答題。換句話說就是驗證給定的乙個數獨中的九宮格,該九宮格是否滿足數獨遊戲的規則。數獨遊戲的規則是什麼 每一行沒有重複。每一列沒有重複。每乙個3x3的小格中沒有重複。方法一 一次迭代法 class solution validate a board for in...

數獨遊戲解密

includeusing namespace std struct board board myboard int grid 9 9 void initgrid board board int pregrid board board bool maybe board board,int i,int ...

C 數獨遊戲(一) 構造數獨矩陣

其實一直都很想寫個數獨的遊戲,最近剛好看了 程式設計之美 得到了一些啟發。好,這時第一節,構造數獨矩陣。主要用到深度搜尋演算法,先往下乙個格仔填數字 依次填入1 9 在9 9 的行中檢驗數字有沒有出現過,在9 9 的列中檢驗數字有沒有出現過,最後在3 3的 中檢驗數字是否出現過。如果最後1 9中所有...