提交时间:2023-10-28 09:53:31

运行 ID: 107781

#include<iostream> using namespace std; int a=0,e[10],d1=0; bool b[15],c[15],d[15]; void cc() { d1++; if(d1<=3) { for(int k=1;k<=a;k++) { cout<<e[k]; if(k!=a) cout<<" "; } cout<<endl; } } int aa(int x) { int y; if(x>a) { cc(); return 0; } else for(y=1;y<=a;y++) { if(b[y]==0&&c[y+x]==0&&d[x-y+a]==0) { b[y]=1; c[x+y]=1; d[x-y+a]=1; e[x]=y; aa(x+1); b[y]=0; c[x+y]=0; d[x-y+a]=0; } } } int main() { cin>>a; aa(1); cout<<d1; return 0; }