zoukankan      html  css  js  c++  java
  • hdu 2102 bfs

    #include<stdio.h>
    #include<string.h>
    #include<queue>
    #define N 20
    using namespace std;
    int dis[4][2]={1,0,-1,0,0,1,0,-1};
    int n,m,t;
    struct node {
    int x,y,time,f;
    };
    char ma[2][N][N];
    int visit[2][N][N];
    int judge(int x,int y,int f) {
    if(x>=1&&x<=n&&y>=1&&y<=m&&ma[f][x][y]!='*'&&!visit[f][x][y])
        return 1;
    return 0;
    }
    int bfs() {
    queue<node>q;
    node cur,next;
    int i;
    memset(visit,0,sizeof(visit));//刚开始忘了初始化wa了n次
    cur.x=1;cur.y=1;cur.time=0;cur.f=0;
    visit[0][1][1]=1;
    q.push(cur);
    while(!q.empty()) {
        cur=q.front();
        q.pop();
        if(cur.time>t)
            continue;
        if(cur.time<=t&&ma[cur.f][cur.x][cur.y]=='P')
            return 1;
        for(i=0;i<4;i++) {
            int xx=next.x=cur.x+dis[i][0];
            int yy=next.y=cur.y+dis[i][1];
            next.time=cur.time+1;
            next.f=cur.f;
            if(judge(xx,yy,cur.f)) {
                visit[cur.f][xx][yy]=1;
                if(ma[cur.f][xx][yy]=='#'&&(ma[(cur.f+1)%2][xx][yy]=='*'||ma[(cur.f+1)%2][xx][yy]=='#'))continue;//如果是‘#’和‘#’的话就无限循环了
                if(ma[cur.f][xx][yy]=='#'&&!visit[(cur.f+1)%2][xx][yy]) {
                    next.f=(cur.f+1)%2;
                    visit[next.f][xx][yy]=1;
                }
                q.push(next);
            }
        }
    }
    return 0;
    }
    int main() {
      int i,tt;
      scanf("%d",&tt);
      while(tt--) {
        scanf("%d%d%d",&n,&m,&t);
        for(i=1;i<=n;i++)
            scanf("%s",ma[0][i]+1);
        for(i=1;i<=n;i++)
            scanf("%s",ma[1][i]+1);
        if(bfs())
            printf("YES
    ");
        else
            printf("NO
    ");
      }
    return 0;
    }
    

  • 相关阅读:
    ie用document.getElementsByName获取不到
    js_设置光标到文本的最后位置
    js-转大小写
    mysql查询数据表的路径
    myeclipse导出javadoc时特殊字符 尖括号
    keyCode码集合
    mysql查询数据库约束
    oracle查询每个表的占用空间
    MYSQL复制表
    MacOs上的Intellij idea高频快捷键总结(2018.1版本)
  • 原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410737.html
Copyright © 2011-2022 走看看