hdoj2553N皇后问题
来源:互联网 发布:h3c端口镜像配置 编辑:程序博客网 时间:2024/06/09 15:56
N皇后问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3860 Accepted Submission(s): 1801
Problem Description
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。
你的任务是,对于给定的N,求出有多少种合法的放置方法。
你的任务是,对于给定的N,求出有多少种合法的放置方法。
Input
共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。
Output
共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。
Sample Input
1850
Sample Output
19210算法入门经典有讲=。=#include<cstdio>#include<cstring>int board[12];int sum[12]={0};bool used[3][20];int n,ans;void dfs(int cur){int i;if(cur==n)ans++;else{for(i=0;i<n;i++){if(!used[0][i]&&!used[1][cur+i]&&!used[2][cur-i+n]){board[cur]=i;used[0][i]=used[1][cur+i]=used[2][cur-i+n]=1;dfs(cur+1);used[0][i]=used[1][cur+i]=used[2][cur-i+n]=0;}}}}int main(){while(scanf("%d",&n),n){memset(used,0,sizeof(used));ans=0;if(sum[n]!=0)printf("%d\n",sum[n]);else{dfs(0);printf("%d\n",ans);sum[n]=ans;}}return 0;}
- hdoj2553N皇后问题
- hdoj2553N皇后问题【DFS】
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题!
- 皇后问题
- 皇后问题
- 皇后问题
- 皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 8皇后问题和N皇后问题
- 八皇后问题(N皇后问题)
- 八皇后问题—>n皇后问题
- 统计出每个编号对应离当前日期最近第一条记录
- RailsCasts中文版,#8 Layouts and content_for 使用content_for方法定制布局文件
- SQL语言分类
- 一条SQL语句,关于字符分割关联多条记录的问题
- html5跨平台---开篇介绍
- hdoj2553N皇后问题
- 一条Sql语句连接多个数据
- C4.5决策树算法
- MAKE 介绍
- Java代码混肴器之-Jrock
- Win7下搭建WAMP环境
- 二叉树中找寻 节点和 为某个值的路径
- 【图】图的邻接矩阵存储和广度、深度优先遍历
- linux read 用法