acwing 1613 數獨簡單版 DFS爆搜

2021-10-18 19:27:40 字數 752 閱讀 3222

題目連線

數獨問題,需要在橫、縱、每9個方格之中填1到9數字。我們可以構建一棵dfs樹,對於每乙個節點要求滿足以上三總條件才可以更新這乙個點,如果這個點可以走下去那麼就深度搜尋下去,並且更新當點的狀態以此復原現場。

y總**

#include

using

namespace std;

const

int n=10;

char g[n]

[n];

bool row[n]

[n],col[n]

[n],cell[3]

[3][n]

;bool

dfs(

int x,

int y)

return

true;}

if(g[x]

[y]!=

'.')

return

dfs(x,y+1)

;for

(int i=

0;i<

9;i++)if

(!row[x]

[i]&&

!col[y]

[i]&&

!cell[x/3]

[y/3

][i]

)return

false;}

intmain()

}}dfs(0,

0);return0;

}

AcWing 1613 數獨簡單版(DFS)

題目鏈結 數獨是一種傳統益智遊戲,你需要把乙個 9 9 的數獨補充完整,使得圖中每行 每列 每個 3 3 的九宮格內數字 1 9 均恰好出現一次。請編寫乙個程式填寫數獨。輸入格式 輸入共 9 行,每行包含乙個長度為 9 的字串,用來表示數獨矩陣。其中的每個字元都是 1 9 或 表示尚未填充 輸出格式...

數獨簡單版

題目鏈結 數獨是一種傳統益智遊戲,你需要把乙個 9 9 的數獨補充完整,使得圖中每行 每列 每個 3 3 的九宮格內數字 1 9 均恰好出現一次。請編寫乙個程式填寫數獨。輸入共 9 行,每行包含乙個長度為 9 的字串,用來表示數獨矩陣 其中的每個字元都是 1 9 或 表示尚未填充 輸出補全後的數獨矩...

數獨簡單版(搜尋 剪枝)

數獨是一種傳統益智遊戲,你需要把乙個 9 9 9 9 的數獨補充完整,使得圖中每行 每列 每個 3 3 3 3 的九宮格內數字 1 9 1 9 均恰好出現一次。請編寫乙個程式填寫數獨。輸入格式 輸入共 9 9 行,每行包含乙個長度為 9 9 的字串,用來表示數獨矩陣。其中的每個字元都是 1 9 1 ...