在乙個給定形狀的棋盤(形狀可能是不規則的)上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請程式設計求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案c。經典dfs
用乙個all記錄擺放種類, 乙個now記錄目前為止放了幾個棋子, 當now == k時 all++, return;
#include
#include
#include
#include
#define mst(a) memset(a, 0, sizeof(a));
using
namespace
std;
const
int maxn = 10;
int g[maxn][maxn];
int vis[maxn]; //記錄某列是否已放過棋子
int n, k, all, now;
void init()
void dfs( int x )
if( x >= n ) return;
for( int j = 0; j < n; j++ )
}dfs(x+1);
return;
}int main()
getchar();
}dfs(0);
printf("%d\n", all);
}return
0;}
POJ 1321 棋盤問題 經典DFS
time limit 1000ms memory limit 10000k description 在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請程式設計求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案...
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 在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一...