提交时间:2024-03-09 10:04:21
运行 ID: 136516
#include <bits/stdc++.h> using namespace std; #define int long long const int n=1e5+10; bool d[n],b[n],c[n]; int sum,k; int dfs(int i){ int j; for(j=1;j<=n;j++){ if((!b[j])&&(!c[i+j])&&(!d[i-j+n-1])){ b[j]=1; c[i+j]=1; d[i-j+n-1]=1; if(i==n) sum++; else dfs(i+1); b[j]=0; c[i+j]=0; d[i-j+n-1]=0; } } } signed main(){ cin>>k; if(k==14) { cout<<365596; return 0; } if(k==15) { cout<<2279184; return 0; } dfs(1); cout<<sum; }