一個解數獨的程式
只會用遞迴……
Sudoku::resolve()方法用來求出數獨的解。程式碼如下
當要解一個數獨時,首先在第一個沒有設定數字的位置放置一個適當的數,然後再呼叫新的Sudoku類的resolve,直到解出為止。
附件為全部程式碼。vc與g++下編譯通過。
Sudoku::resolve()方法用來求出數獨的解。程式碼如下
bool Sudoku::resolve(){
int x,y;
int solve = getFirstUnset(&x,&y);
int list[10];
if(solve==0){
for(int i=0;i<9;i++){
for(int j=0;j<9;j++){
answer[i][j] = puzzle[i][j];
}
}
return true;
}else if(solve==1){
getNumList(x,y,list);
for(int tmp=1;tmp<=9;tmp++){
if(list[tmp]==0){
continue;
}
Sudoku s(*this);
s.setNumberinPosition(x,y,tmp);
if(s.resolve()){
for(int tmpi=0;tmpi<9;tmpi++){
for(int tmpj=0;tmpj<9;tmpj++){
answer[tmpi][tmpj] = s.answer[tmpi][tmpj];
}
}
resolveFlag = true;
return true;
}
}
}
return false;
}
當要解一個數獨時,首先在第一個沒有設定數字的位置放置一個適當的數,然後再呼叫新的Sudoku類的resolve,直到解出為止。
附件為全部程式碼。vc與g++下編譯通過。
相關文章
- 一個利用DLX演算法的Python解數獨程式演算法Python
- 另一個數獨求解c++程式C++
- 又一個數獨求解c++程式C++
- 關於一個最簡單的數獨解題實現與疑惑一
- 用vue開發一個所謂的數獨Vue
- java解數獨Java
- 羅塞塔網站上的c++解數獨程式網站C++
- 據說用概率去解數獨的c++程式C++
- 我目前找到的最快的數獨求解程式
- uniapp js 數獨小遊戲 寫死的簡單數獨 數獨 3.0APPJS遊戲
- python解數獨的簡單優化Python優化
- LeetCode 37. 解數獨LeetCode
- 活下去,一個遊戲人的獨白遊戲
- 一個獨立開發者的失敗自白
- 一次數獨生成及解題演算法的剖析(Java實現)演算法Java
- Wpf應用程式作為一個單獨的可執行檔案
- 日行一算(數獨遊戲)遊戲
- 安卓旅途之——開發數獨(一)安卓
- 基於聲網互動白板實現一個多人數獨遊戲遊戲
- 求一個數的二進位制數中所含1的個數的程式碼實現
- 求一個獨立模型的開發示例模型
- vue 數獨Vue
- 數獨遊戲遊戲
- 一個拖拉且錯誤的猜數字程式
- 判斷一個數是否為質數(程式碼)
- 一個TD測試工程師的獨白工程師
- 一個獨立開發者的逆襲成長之路
- 從一個問題中瞭解數學在程式設計中的應用程式設計
- Coding iPad 客戶端開源——一個程式設計師的獨白iPad客戶端程式設計師
- 求一個數的最大公約數的三種思路——解題筆記筆記
- 面試題解:輸入一個數A,找到大於A的一個最小數B,且B中不存在連續相等的兩個數字面試題
- leetcode37 解數獨問題 hardLeetCode
- 拉丁方的衍生遊戲“數獨”遊戲
- leetcode:有效的數獨LeetCode
- 一個位元組的網路漫遊故事獨白
- 一個資料庫儲存架構的獨白資料庫架構
- 如何編寫一個獨立的 PHP 擴充套件PHP套件
- 解讀第一個C++程式C++