提交时间:2023-10-28 09:41:28

运行 ID: 107764

#include<bits/stdc++.h> using namespace std; int a[10001],sum,n; bool b[10001],c[10001],d[10001]; int search(int k){ if(k>n){ sum++; if(sum<=3){ for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } cout<<endl; } } for(int i=1;i<=n;i++){ if(b[i]==0&&c[k-i+n]==0&&d[i+k]==0){ a[k]=i; b[i]=c[k-i+n]=d[k+i]=1; search(k+1); b[i]=c[k-i+n]=d[k+i]=0; } } } int main(){ cin>>n; search(1); cout<<sum; return 0; }