#include<iostream>
using namespace std;
int n=0,a[15]={0},b[15]={0},c[27]={0},d[27]={0},ans=0;
void dfs(int step){
if(step>n){
if(ans<3){
for(int p=1;p<=n;p++){
cout<<a[p]<<" ";
}
cout<<endl;
}
ans++;
return;
}
for(int i=1;i<=n;i++){
if(b[i]==0&&c[i+step]==0&&d[i-step+n]==0){
b[i]=1;
c[i+step]=1;
d[i-step+n]=1;
a[step]=i;
dfs(step+1);
b[i]=0;
c[i+step]=0;
d[i-step+n]=0;
}
}
return;
}
int main(){
cin>>n;
dfs(1);
cout<<ans;
return 0;
}
八皇后
最新推荐文章于 2022-07-27 09:46:34 发布