數獨解法 C 實現

2021-07-09 18:47:02 字數 909 閱讀 6364

#include using namespace std;

/* 構造完成標誌 */

bool sign = false;

/* 建立數獨矩陣 */

int num[9][9];

/* 函式宣告 */

void input();

void output();

bool check(int n, int key);

int dfs(int n);

/* 主函式 */

int main()

/* 讀入數獨矩陣 */

void input()

}} /* 輸出數獨矩陣 */

void output()

}cout << endl;

if (i % 3 == 2)

}} /* 判斷key填入n時是否滿足條件 */

bool check(int n, int key)

/* 判斷n所在豎列是否合法 */

for (int i = 0; i < 9; i++)

/* x為n所在的小九宮格左頂點豎座標 */

int x = n / 9 / 3 * 3;

/* y為n所在的小九宮格左頂點橫座標 */

int y = n % 9 / 3 * 3;

/* 判斷n所在的小九宮格是否合法 */

for (int i = x; i < x + 3; i++)

}/* 全部合法,返回正確 */

return true;}

/* 深搜構造數獨 */

int dfs(int n)

/* 當前位不為空時跳過 */

if (num[n/9][n%9] != 0)

else}}

}

9 9數獨 C 實現

9 9數獨規則 在乙個9 9的九宮格裡面填數字,每個方格中填入合適的數字以使得每行 從左到右 每列 從上到下 以及每個九宮格 加粗線條部分 都要包含從1 9的數字。示例如下 建立9 9的數獨矩陣 注意 int型!bool flag false void input bool check int n,...

數獨遊戲的AI解法

因為解的過程沒有全域性狀態這種概念,所以不方便使用著名的h d模板來解。其實因為格仔的數量很少,只要做簡章的優化就完全不存在問題。即使用窮舉法,也能很快算出答案。某人 不要小看窮舉法!下次準備考慮生成遊戲的演算法,難度應該較高。console工程的 sudoku.cpp 定義控制台應用程式的入口點。...

數獨遊戲的解法到App的實現

在leetcode上偶然刷到乙個解數獨的題目 編寫乙個程式,通過已填充的空格來解決數獨問題。乙個數獨的解法需遵循如下規則 note 這個題目很是有趣,解決了數獨算不出來的難題。首先想到的是暴力列舉了,也就是對每個空格進行列舉,回溯法。public void solvesudoku char boar...