zoukankan      html  css  js  c++  java
  • hdu 2553(N皇后)

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

    哎,不说了,打表过的,直接搜的话,TLE..

    View Code
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 //#define MAXN 22
     6 //int num[MAXN];
     7 //bool mark[3][MAXN];
     8 int sum,n;
     9 
    10 /*
    11 void dfs(int row){
    12     if(row==n+1)sum++;
    13     for(int i=1;i<=n;i++){
    14         bool flag=true;
    15         num[row]=i;//存当前行的列号
    16         for(int j=1;j<row;j++){
    17             //判断列、主对角线、副对角线是否冲突
    18             if(num[j]==num[row]||row-num[row]==j-num[j]||row+num[row]==j+num[j]){
    19                 flag=false;
    20                 break;
    21             }
    22         }
    23         if(flag)dfs(row+1);//此时,前row行都不冲突
    24     }
    25 }
    26 */
    27 
    28 
    29 /*
    30 void dfs(int row){
    31     if(row==n+1)sum++;
    32     for(int i=1;i<=n;i++){
    33         if(!mark[0][i]&&!mark[1][row+i]&&!mark[2][row-i+n]){
    34             mark[0][i]=mark[1][row+i]=mark[2][row-i+n]=true;
    35             dfs(row+1);
    36             mark[0][i]=mark[1][row+i]=mark[2][row-i+n]=false;
    37         }
    38     }
    39 }
    40 */
    41 
    42 
    43 int main(){
    44     int ans[]={0,1,0,0,2,10,4,40,92,352,724};
    45     while(~scanf("%d",&n)&&n){
    46     //    memset(num,0,sizeof(num));
    47     //    memset(mark,false,sizeof(mark));
    48     //    sum=0;
    49     //    dfs(1);
    50     //    printf("%d\n",sum);
    51         printf("%d\n",ans[n]);
    52     }
    53     return 0;
    54 }
    55 
    56         
  • 相关阅读:
    importToMbtiles
    http-server服务跨域设置
    Leaflet 测试加载高德地图
    矢量切片
    zigzag方式编码
    CentOS7安装docker
    CentOS7安装NodeJS
    CentOS7上Python3.5安装
    JDK8下maven使用maven-javadoc-plugin插件报错
    Ubuntu16.10上安装NodeJS6.9.2
  • 原文地址:https://www.cnblogs.com/wally/p/3057291.html
Copyright © 2011-2022 走看看