5 条题解
- 
  0
#include<bits/stdc++.h> using namespace std; int n,ans,c[25],zd[60],fd[60]; void dfs(int s) { if(s>n){ ans++; return; } for(int i=1;i<=n;i++) { if(c[i]==0&&zd[s-i+n]==0&&fd[s+i]==0) { c[i]=1; zd[s-i+n]=1; fd[s+i]=1; dfs(s+1); c[i]=0; zd[s-i+n]=0; fd[s+i]=0; } } } int main() { cin>>n; dfs(1); cout<<ans; return 0; } 
信息
- ID
 - 1637
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 5
 - 标签
 - 递交数
 - 242
 - 已通过
 - 99
 - 上传者