HDU 2553 N皇后问题
来源:互联网 发布:linux 执行jar包命令 编辑:程序博客网 时间:2024/06/07 07:50
N皇后问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16365 Accepted Submission(s): 7403Problem Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sample Output19210AuthorcgfSource2008 HZNU Programming ContestRecommendlcy | We have carefully selected several similar problems for you: 1016 1312 1181 1241 1010
来源: http://acm.hdu.edu.cn/showproblem.php?pid=2553
//超时算法 //N Queen#include <cstdio>#define MAX 25int A[MAX+1],n,ANS=0;void DFS(int Set){ if(Set==n) ANS++; else { for(int i=1;i<=n;i++) { int flag=1;A[Set+1]=i;//用于对角线 for(int j=1;j<=Set;j++)//!这里不够快 再次化简 if(A[j]==A[Set+1]||j-A[j]==Set+1-A[Set+1]||Set+1+A[Set+1]==j+A[j]) {flag=0;break; } if(flag) DFS(Set+1); } }}int main(void){ while(~scanf("%d",&n)&&n) { ANS=0;DFS(0); printf("%d\n",ANS); }}
//AC//N Queen#include <cstdio>#include <cstring>#define MAX 25int vis[3][MAX+1],ANS=0;int ans[11]={0};void DFS(int Set,int n){ if(Set==n) ANS++; else { for(int i=1;i<=n;i++) { if(!vis[0][i]&&!vis[1][Set+i]&&!vis[2][(Set-i+n)]) { vis[0][i]=vis[1][Set+i]=vis[2][(Set-i+n)]=1; DFS(Set+1,n); vis[0][i]=vis[1][Set+i]=vis[2][(Set-i+n)]=0; } } }}int main(void){ for(int i=1;i<=10;i++) //数据肯定会重复测 因为不记录会TLE 当然这里可以改成记忆化 { memset(vis,0,sizeof(vis)); ANS=0;DFS(0,i); ans[i]=ANS; } int N; while(~scanf("%d",&N)&&N) printf("%d\n",ans[N]);}
0 0
- HDU 2553 N皇后问题
- HDU 2553 N皇后问题
- HDU 2553-N皇后问题
- hdu 2553 N皇后问题
- HDU-2553-N皇后问题
- Hdu 2553 N皇后问题
- hdu 2553 N皇后问题
- hdu 2553 N皇后问题
- HDU 2553 N皇后问题
- HDU--2553 -- N皇后问题
- hdu-2553--N皇后问题
- 2553--Hdu--N皇后问题
- N皇后问题 hdu 2553
- HDU 2553 N皇后问题
- hdu 2553 n皇后问题
- HDU 2553 N皇后问题
- hdu-2553-N皇后问题
- HDU-2553-N皇后问题
- hdu 2570 //这题想到贪心法有些曲折哈 是一道简单的贪心算法(最优装载问题)
- 简单逆向 程序的数据库 并备份修改
- 第12周—项目3数组类运算的实现
- C++
- 解析URI与URL之间的区别与联系
- HDU 2553 N皇后问题
- 小气的dbms_output.put_line长度
- 将一个“1234”的字符串转化为1234整形
- 《算法竞赛入门经典(第二版)》第三章 习题(6-9)
- maven error in opening zip file
- (转)内核中断,异常,抢占总结篇
- HDU1232 畅通工程 并查集(第一题) 水题
- svn服务器搭建流程
- 字符串练习题