输入8,输出结果总数1
#include <bits/stdc++.h>
using namespace std;
int a[60],b[60],c[60];int n,x;
void print(int w){
if(w<3){
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
x++;
}
void sol(int y){
if(y>n){
print(x);return;
}
for(int i=1;i<=n;i++){
if((!a[i])&&(!b[y+i])&&(!c[y-i+n])){
a[y]=i;
b[y+i]=c[y-i+n]=1;
sol(y+1);
a[y]=b[y+i]=c[y-i+n]=0;
}
}
}
int main(){
cin>>n;
sol(1);
cout<<x;
}