hdu 2553 N皇后问题(dfs)

来源:互联网 发布:mac强制关机 编辑:程序博客网 时间:2024/05/01 23:14

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2553

#include <stdio.h>int n;int tot;int C[20];int result[20];void search(int cur){    if(cur == n)        tot++;    else        for(int i = 0; i <n; ++i)        {            int ok = 1;            C[cur] = i;            for(int j = 0; j < cur; ++j)                if(C[cur] == C[j] || cur-C[cur] == j-C[j] || cur+C[cur] == j+C[j])                {                    ok = 0;                    break;                }            if(ok)                search(cur+1);        }}int main(){    for(int i = 1; i <= 11 ; ++i)//一定要打表,否则会超时    {        n = i;        tot = 0;        search(0);        result[i] = tot;    }    while(scanf("%d",&n) && n != 0)        printf("%d\n",result[n]);    return 0;}


0 0
原创粉丝点击