HDUOJ2553-N皇后问题
2016-03-24 21:33
351 查看
对于N皇后问题首先的代码
但是在hduOJ上显示超时,也许是因为计算量太大。由于N <= 10,因此提前将各个答案写入一个表中。
#include <stdio.h> int IsLegal[3][25]; int cnt = 0; int cmd; void Dfs(int n) { if (n == cmd + 1) cnt++; else { for(int i = 1; i <= cmd; i++) { if(IsLegal[0][i] == 0 && IsLegal[1][n+i] == 0 && IsLegal[2][n-i+8] == 0) { IsLegal[0][i] = IsLegal[1][n+i] = IsLegal[2][n-i+8] = 1; Dfs(n+1); IsLegal[0][i] = IsLegal[1][n+i] = IsLegal[2][n-i+8] = 0; } } } } int main() { while (scanf("%d", &cmd) == 1 && cmd) { Dfs(1); printf("%d\n", cnt); cnt = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 25; j++) { IsLegal[i][j] = 0; } } } return 0; }
但是在hduOJ上显示超时,也许是因为计算量太大。由于N <= 10,因此提前将各个答案写入一个表中。
int main() { int num[11]; for(n = 1; n <= 10; n++) { ans = 0; dfs(1); num = ans; } while(scanf("%d",&n) != EOF && n) { printf("%d\n",num ); } return 0; }
相关文章推荐
- 【菜鸟手打js】@弹出遮罩层显示大图之三
- logging的使用
- 第四周项目(3)-随机数函数应用于游戏
- 对Object类中方法的理解
- poj 3311 Hie with the Pie 旅行商问题变形 记录最短路径压缩状态
- 查找进程对应的PID和对应的端口号
- 经典排序之 冒泡排序
- 找不到该项目,请确认该项目的位置的办法(转)
- HDU 2717Catch That Cow
- LeetCode#105. Construct Binary Tree from Preorder and Inorder Traversal
- 【Android压力测试】monkey压力测试(很全、很详细)
- 一个简单的分钱问题:用一毛二毛五毛组合一块
- linux下安装升级mysql到新版本(5.1-5.7)
- 初始mybatis (mybatis开发环境的搭建)
- 待整理
- bitmap heap scan
- poj-1503-java大数相加
- python 下的数据结构与算法---4:线形数据结构,栈,队列,双端队列,列表
- 计算100以内的素数
- 约瑟夫环的变形