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
- 标签
- 递交数
- 222
- 已通过
- 88
- 上传者