• hdu1010 Tempter of the Bone


     1 #include <iostream>
     2 #include <string.h>
     3 #include <string>
     4 #include <stdio.h>
     5 #include <queue>
     6 #define aabs(x) (x)>0?(x):-(x)
     7 using namespace std;
     8 int dir[4][2]={
     9     1,0,-1,0,
    10     0,1,0,-1};
    11 char gird[10][10];
    12 int m,n,t;
    13 bool vit[10][10];
    14 bool success;
    15 void init(){
    16     int i,j;
    17     success=0;
    18     for(i=0;i<n;++i)
    19         for(j=0;j<m;++j){
    20             if(gird[i][j]=='X') vit[i][j]=1;
    21             else                vit[i][j]=0;
    22         }
    23     return ;
    24 }
    25 
    26 void dfs(int x,int y,int step){
    27     //cout<<"x="<<x<<" y="<<y<<endl;
    28     int i,j;
    29     int tx,ty;
    30     if(success==1) return;
    31     if(gird[x][y]=='D'&&step!=t) return;
    32     if(gird[x][y]=='D'&&step==t) {success=1;return;}
    33     for(i=0;i<4;++i){
    34         tx=x+dir[i][0];    ty=y+dir[i][1];
    35         if(tx>=0&&tx<n&&ty<m&&ty>=0&&vit[tx][ty]==0){
    36             vit[tx][ty]=1;
    37             dfs(tx,ty,step+1);
    38             vit[tx][ty]=0;
    39         }
    40     }
    41     return ;
    42 }
    43 int main(){
    44     int i,j;
    45     int bx,by;
    46     int ex,ey;
    47     while(cin>>n>>m>>t){
    48     if(n==0&&m==0&&t==0) break;
    49         for(i=0;i<n;++i)
    50             for(j=0;j<m;++j){
    51                 cin>>gird[i][j];
    52                 if(gird[i][j]=='S'){
    53                     bx=i;    by=j;
    54                 }else if(gird[i][j]=='D'){
    55                     ex=i;    ey=j;
    56                 }
    57             }
    58         if(  ( (bx+ex)+(by+ey) )%2 != t%2 ) {cout<<"NO"<<endl; continue;}
    59         init();
    60         vit[bx][by]=1;
    61         dfs(bx,by,0);
    62         if(success==1) cout<<"YES"<<endl;
    63         else           cout<<"NO"<<endl;
    64     }
    65 
    66     return 0;
    67 
    68 }
    69         
  • 相关阅读:
    JS--XML 操作
    JS--中的 Cookie 与存储
    php qr生成二维码
    jQuery cookie插件保存用户登陆信息
    linux BASH shell设置字体与背景颜色
    linux iostat命令详解 磁盘操作监控工具
    Nginx下10个安全问题提示
    PHP计算某个目录大小的方法
    php验证是否是md5编码的代码
    JS正则表达式获取字符串中特定字符
  • 原文地址:https://www.cnblogs.com/symons1992/p/3329829.html
Copyright © 2020-2023  润新知