hdu 2553 n皇后问题
2015-10-10 13:23
375 查看
//和八皇后一样,没有什么差别,详细解析见八皇后
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int n,hang[20],cnt; int ans[11]; void queen(int i) { int j,k; if(i==n) { cnt++; return ; } for(j=0;j<n;j++) { for (k=0;k<i;k++) if(hang[k]==j||abs(k-i)==abs(hang[k]-j)) break; if(k==i) { hang[k]=j; queen(i+1); hang[k]=0; } } } int main() { int m; for(n=1;n<=10;n++) //先打表,否则会超时 { fill(hang,hang+20,0); cnt=0; queen(0); ans =cnt; } while(~scanf("%d",&m),m) { printf("%d\n",ans[m]); } return 0; }
相关文章推荐
- linux本地yum源配置
- jquery数组常用方法及例子
- mysql php nginx
- Android5.0资源 colorAccent,colorPrimary,colorPrimaryDark
- 设计模式(2)-代理模式
- 基于openCV图像的矩的程序笔记
- 做一款移动产品半年的四个收获
- 删除排序链表中重复元素
- 时间序列模型之相空间重构
- soanrqube 扫描javascript代码
- 【翻译】ASP.NET MVC 5属性路由(转)
- ShaderLab Tutorials-Blend,Grey Lightmap
- 网站的高可用架构 Availability
- canny算子原理
- OpenGL ES 2.0渲染管线
- 485和OPT
- canny算子原理
- 规范化的软件项目演进管理--从 Github 使用说起
- 手机APP测试
- 二值图像连通区域标记