经典N皇后(小白板)
·
#include <bits/stdc++.h>
using namespace std;
int a[30],b[30],c[30],d[30],cnt,n;
void dfs(int x){
if(x>n){
cnt++;
if(cnt<=3){
for(int i=1;i<=n;i++){
cout<<d[i]<<" ";
}
cout<<endl;
}
}
for(int i=1;i<=n;i++){
if(!a[i]&&!b[i-x+n]&&!c[i+x]){
d[x]=i;
a[i]=1;
b[i-x+n]=1;
c[i+x]=1;
dfs(x+1);
a[i]=0;
d[x]=0;
b[i-x+n]=0;
c[i+x]=0;
}
}
}
int main() {
cin>>n;
dfs(1);
cout<<cnt;
return 0;
}
广告
更多推荐


所有评论(0)