hdu 2553 N皇后问题

原创 2015年07月09日 21:39:55

N皇后问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 12177    Accepted Submission(s): 5492


Problem Description
在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。
你的任务是,对于给定的N,求出有多少种合法的放置方法。

 

Input
共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。
 

Output
共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。
 

Sample Input
1 8 5 0
 

Sample Output
1 92 10
 


  基础的搜索,需要注意的是只有十个数,先求出结果打表。

  
#include<stdio.h>
#include<string.h>
int vist[3][20];
int dp[20];
int sum;
void dfs(int num,int n)
{
    if(num==n+1)
    {
        sum++;
       return;
    }
   for(int i=1;i<=n;i++)
   {
       if(!vist[0][i]&&!vist[1][num+i]&&!vist[2][num-i+n])
       {
           vist[0][i]=vist[1][num+i]=vist[2][num-i+n]=1;
           dfs(num+1,n);
           vist[0][i]=vist[1][num+i]=vist[2][num-i+n]=0;
       }
   }

}
int main()
{
    int n;
    for(int i=1; i<=10; i++)
    {
        sum=0;
        memset(vist,0,sizeof(vist));
        dfs(1,i);
        dp[i]=sum;
    }
    while(~scanf("%d",&n)&&n)
        printf("%d\n",dp[n]);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU 2553 N皇后问题(递归深搜)

N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota...
  • u014492609
  • u014492609
  • 2014年08月13日 11:44
  • 1121

HDU - 2553 N皇后问题 (初试回溯)

N皇后问题 Time Limit:1000MS   Memory Limit:32768KB   64bit IO Format:%I64d & %I64u ...
  • HelloWorld10086
  • HelloWorld10086
  • 2014年08月11日 09:47
  • 1131

HDU 2553 N皇后问题

N皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处...
  • jdliyao
  • jdliyao
  • 2016年05月11日 00:31
  • 2241

HDU2553:N皇后问题(DFS)

Problem Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定...
  • libin56842
  • libin56842
  • 2013年05月29日 19:40
  • 3207

HDU 2553 N皇后问题(dfs)

http://acm.hdu.edu.cn/showproblem.php?pid=2553 这是一个经典的 dfs 回溯 的题目  同样这也是一道很坑很...
  • MM__1997
  • MM__1997
  • 2017年05月13日 09:46
  • 287

hdu 2553 N皇后问题 DFS(回溯)

N皇后问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi...
  • qq_27437781
  • qq_27437781
  • 2017年03月10日 21:41
  • 150

hdu 2553 N皇后问题 经典dfs

A - N皇后问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Stat...
  • HowardEmily
  • HowardEmily
  • 2016年10月23日 15:07
  • 348

hdu 2553 N皇后问题

N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su...
  • u013806814
  • u013806814
  • 2014年09月05日 09:01
  • 666

week8(第二波搜索进阶) A -hdu 2553 N皇后问题

A - N皇后问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Stat...
  • a7f650ebd327889c
  • a7f650ebd327889c
  • 2016年10月21日 20:14
  • 196

hdu2553N皇后问题

N皇后问题 打表  #include using namespace std; int a[11]={0,1,0,0,2,10,4,40,92,352,724}; int main()...
  • liujie619406439
  • liujie619406439
  • 2013年04月23日 15:18
  • 920
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu 2553 N皇后问题
举报原因:
原因补充:

(最多只允许输入30个字)