记录编号 | 412015 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | N皇后问题 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.006 s | ||
提交时间 | 2017-06-07 16:34:03 | 内存使用 | 0.32 MiB | ||
#include<bits/stdc++.h> using namespace std; int n,a[20],b[40],c[40],cnt;//ai表示纵列是否被占 inline void dfs(int x) { if(x==n+1)//当超出边界时,也就是已经放满 { cnt++; return ; } for(int i=1;i<=n;i++) { if(!a[i]&&!b[x+i]&&!c[i-x+n]) { a[i]=1, b[i+x]=1, c[i-x+n]=1, dfs(x+1); a[i]=0; b[i+x]=0; c[i-x+n]=0; } } } int main() { freopen("queen.in","r",stdin); freopen("queen.out","w",stdout); scanf("%d",&n); dfs(1); cout<<cnt; return 0; }