POJ 1321 C 棋盤問題

2021-07-25 17:32:47 字數 480 閱讀 9634

1.dfs逐行的搜尋,定義vis陣列記錄某一列上是否已經有棋子存在,每次行數加1迭代,最後別忘了搜尋完一行都沒有放棋子的情況

2.特別注意:輸入的時候用getchar讀入一行,然後存入字元陣列中

#include #include using namespace std;

int n;

int k;

int ans=0;

int vis[9];

char a[9][9];

int num;

void dfs(int idx)

if(idx>n)return;

int i;

for(i=1;i<=n;i++)

} dfs(idx+1);

}int main()

getchar();

} dfs(1);

cout<} return 0;

}

POJ 1321 棋盤問題

time limit 1000ms memory limit 10000k total submissions 7007 accepted 3390 description 在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列...

poj 1321 棋盤問題

棋盤問題 time limit 1000ms memory limit 10000k total submissions 15365 accepted 7600 description 在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一...

POJ 1321 棋盤問題

找到第乙個有 的行開始回溯就可以了 include include using namespace std const int maxn 9 char board maxn maxn bool c maxn int ans,n,k void backtracking int curi,int cnt...