zoukankan      html  css  js  c++  java
  • HDU 1045

    水水的dfs

    又写出无脑的判断了..

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 using namespace std;
     5 char map[5][5];
     6 int n,ans;
     7 int vis[5][5];
     8 void dfs(int x,int cnt)
     9 {
    10     if(x==n){
    11         if(ans<cnt) ans=cnt;
    12         return ;
    13     }
    14     for(int i=0;i<n;++i)
    15     {
    16         if(!vis[x][i]&&map[x][i]=='.')
    17         {    
    18             int j;
    19             for(j=x;j>=0;--j){
    20                 if(map[j][i]=='X') break;
    21                 ++vis[j][i];
    22             }
    23             for(j=x+1;j<n;++j){
    24                 if(map[j][i]=='X') break;
    25                 ++vis[j][i];
    26             }
    27             for(j=i-1;j>=0;--j){
    28                 if(map[x][j]=='X') break;
    29                 ++vis[x][j];
    30             }
    31             for(j=i+1;j<n;++j){
    32                 if(map[x][j]=='X') break;
    33                 ++vis[x][j];
    34             }
    35             dfs(x,cnt+1);
    36             for(j=x;j>=0;--j){
    37                 if(map[j][i]=='X') break;
    38                 --vis[j][i];
    39             }
    40             for(j=x+1;j<n;++j){
    41                 if(map[j][i]=='X') break;
    42                 --vis[j][i];
    43             }
    44             for(j=i-1;j>=0;--j){
    45                 if(map[x][j]=='X') break;
    46                 --vis[x][j];
    47             }
    48             for(j=i+1;j<n;++j){
    49                 if(map[x][j]=='X') break;
    50                 --vis[x][j];
    51             }
    52         }
    53     }
    54     dfs(x+1,cnt);
    55 }
    56 int main()
    57 {
    58     while(~scanf("%d",&n)&&n)
    59     {
    60         for(int i=0;i<n;i++) scanf("%s",map[i]);
    61         memset(vis,0,sizeof(vis));
    62         ans=0;
    63         dfs(0,0);
    64         printf("%d
    ",ans);
    65     }
    66 } 
    我自倾杯,君且随意
  • 相关阅读:
    [loj3031]聚会
    [loj3146]路灯
    [loj2049]网络
    [luogu7599]雨林跳跃
    [loj3069]整点计数
    [loj3301]魔法商店
    [loj3333]混合物
    [cf1515I]Phoenix and Diamonds
    [cf1515H]Phoenix and Bits
    [atARC116F]Deque Game
  • 原文地址:https://www.cnblogs.com/nicetomeetu/p/5451802.html
Copyright © 2011-2022 走看看