#include<bits/stdc++.h>
using namespace std;
bool l[100], z[100], y[100];
int n, s=0;
void dfs(int j, string a){
if(j==n){
if(s<3)
cout<<a<<'\n';
s++;
return;
}
for(int i=0;i<n;i++){
if(!l[i] && !z[i+j] && !y[i-j+n]){
l[i]=true;
z[i+j]=true;
y[i-j+n]=true;
dfs(j+1, a+char(i+'1')+' ');
l[i]=!true;
z[i+j]=!true;
y[i-j+n]=!true;
}
}
return;
}
int main(){
cin>>n;
dfs(0, "");
cout<<s;
return 0;
}
评测记录