要求在不規則棋盤上擺放k個棋子,使得橫豎行列上都只有唯一的一顆棋子,求出有多少種擺法。
建立乙個n*n的區域,記錄可以放棋子的地方,然後進行搜尋,求出滿足要求的方法,用的是深度優先搜尋
#include#includeint lines;//行(列)數
int chess_num;//擺放的棋子數
int count;//計數器
int placed_num;//當前已擺放的棋子
char board[9][9];//棋盤
char visit[9];//列標記
void dfs(int i)
if(i>=lines)
return;
for(j=0;j
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...