题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 30;
int n;
char g[N][N];
int path[N];
int col[N],dg[N],udg[N];
void dfs(int u){
if(u==n+1){
for (int i = 1; i <= n; i ++ )puts(g[i]+1);//指针开始g[I]+1
puts("");
// cout<<1<<endl;
return;
}
for (int i = 1; i <= n; i ++ ){
if(!col[i]&&!dg[u+i]&&!udg[i-u+n]){
path[u]=i;
col[i]=dg[u+i]=udg[i-u+n]=1;
g[u][i]='Q';
dfs(u+1);
col[i]=dg[u+i]=udg[i-u+n]=0;
g[u][i]='.';
}
}
}
int main()
{
cin>>n;
for (int i = 1; i <= n; i ++ )for (int j = 1; j <= n; j ++ )g[i][j]='.';
dfs(1);
return 0;
}
blablabla