想必大家都玩過數獨吧(我竟沒玩過.....
錯誤!!!的思想:
1,,每列中包含1~9
2,每行中包含1~9
後來才知道原來只滿足這兩個條件並不能滿足每乙個九宮格中包含1~9
正解!!!:
1,,每列中包含1~9
2,每行中包含1~9
3.每個九宮格中包含1~9
**:#include
#include
#include
#include
using namespace std;
int g[10][10];
bool line[10][10]; //line[i][j]:判斷第i行數字j有沒有出現過
bool column[10][10]; //column[i][j]:判斷第i列數字j有沒有出現過
bool block[10][10]; //block[i][j]:判斷第i塊數字j有沒有出現過
int t;
bool judge()
} int flag = 1;
for(int i =1;i<=9;i++)
} return flag;
} int main()
} bool flag = judge();
if (flag) cout<
int blocknum = (i-1)-((i-1) % 3) + ((j-1) / 3 + 1); 對這句話不太了解,這句的意思是計算這個數屬於第幾個九宮格,
block[blocknum][g[i][j]] = 1;
這句的意思則是第幾個九宮格的第幾個數十存在的
(C語言)判斷數獨是否正確
數獨是源自18世紀瑞士的一種數學遊戲。是一種運用紙 筆進行演算的邏輯遊戲。玩家需要根據9 9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行 每一列 每乙個粗線宮 3 3 內的數字均含1 9,不重複。當然,肯定不會讓你用程式完成沒填好的數獨的。現在給你乙個9 9填滿了數的格仔,想讓你檢查一下...
程式設計題 判斷數獨是否正確
緒論目錄 判斷數獨是否正確 數獨定義 邏輯分析 矩陣遍歷 行遍歷列遍歷 總 測試 注 該文中用 0 表示空格,未填寫,因為方格中只能填入 1,9 話不多說,先上圖 如果你是第一次用程式的角度來做這道題,不用每乙個方格都去判斷方格所在行列以及矩陣無重複元素,這樣其實做了大量的重複操作,我們需要的是一步...
389 判斷數獨是否合法
5.5 很神奇的使用了map陣列,感覺自己的路子簡直是有點兒野。map陣列的定義方式為 hashmap map2 new hashmap 2 9 for int i 0 i 2 i 判斷數獨是不是合法,要判斷同一行,同一列,以及同乙個九宮之內是不是有相同的數。雖然ac了,但是提示我的編譯是有錯誤的。...