提交时间:2023-10-05 09:29:57

运行 ID: 105058

#include<bits/stdc++.h> using namespace std; bool b[100],c[100],d[100]; int n,cnt,a[100]; int ans=0; int tq(int i){ for(int j=1;j<=n;j++){ if((!b[j])&&(!c[i+j])&&(!d[i-j+n])){ a[i]=j; b[j]=1,c[i+j]=1,d[i-j+n]=1; if(i==n)ans++; else tq(i+1); b[j]=0,c[i+j]=0,d[i-j+n]=0; } } } int main(){ cin>>n; tq(1); cout<<ans; return 0; }