zoukankan      html  css  js  c++  java
  • hdu 1728 逃离迷宫

    最近个人几篇文章介绍了改的文章. 关联文章的地址

        广搜

        

        

        

        每日一道理
    这浓浓的母爱使我深深地认识到:即使你是一只矫健的雄鹰,也永远飞不出母爱的长空;即使你是一条扬帆行驶的快船,也永远驶不出母爱的长河!在人生的路上不管我们已走过多远,还要走多远,我们都要经过母亲精心营造的那座桥!
    #include "stdio.h"
    #include "string.h"
    #include<queue>
    using namespace std;
    struct team
    {
        int x,y,crow;
    };
    char map[101][101];
    int a[4][2]={1,0,-1,0,0,1,0,-1},flag[110][110];
    int n,m,p,sx,sy,ex,ey;
    int judge(int x,int y)
    {
        if(x>=0&&x<n&&y>=0&&y<m&&map[x][y]=='.')
            return 1;
        return 0;
    }
    int bfs()
    {
        if(sx==ex&&sy==ey)
            return 1;
        queue<team>q;
         team cur,next;
         int x,y,k,i;
         memset(flag,0,sizeof(flag));
         flag[sx][sy]=1;
         cur.x=sx;cur.y=sy;cur.crow=-1;
            q.push(cur);
         while(!q.empty())
         {
             cur=q.front();
             q.pop();
             for(i=0;i<4;i++)
             {
                 x=cur.x+a[i][0];
                 y=cur.y+a[i][1];
                while(judge(x,y))
                 {    
                    if(flag[x][y]==0)
                    { 
                        next.x=x;
                       next.y=y;
                     next.crow=cur.crow+1;
                     if(x==ex&&y==ey&&next.crow<=p)
                         return 1;                 
                       q.push(next);
                       flag[x][y]=1;
                    }
                       x=x+a[i][0];
                       y=y+a[i][1];
                 }
    
             }
         }
         return 0;
    }
         
          
    int main()
    {
        
        int i,a,b,j;
          scanf("%d",&a);
              while(a--)
        {
            scanf("%d %d",&n,&m);
            getchar();
            for(i=0;i<n;i++)
            {
                for(j=0;j<m;j++)
                 scanf(" %c",&map[i][j]);
                getchar();
            }
            scanf("%d%d%d%d%d",&p,&sy,&sx,&ey,&ex);
            sx=sx-1;sy=sy-1;ex=ex-1;ey=ey-1;
            if(bfs())
                printf("yes\n");
            else
                printf("no\n");
        }
        return 0;
    }

    文章结束给大家分享下程序员的一些笑话语录: N多年前,JohnHein博士的一项研究表明:Mac用户平均IQ要比PC用户低15%。超过6000多的参加者接受了测试,结果清晰的显示IQ比较低的人会倾向于使用Mac。Mac用户只答对了基础问题的75%,而PC用户却高达83%。

  • 相关阅读:
    Git 码云操作
    多线程基础必要知识点!看了学习多线程事半功倍(转)
    Spring技术内幕:设计理念和整体架构概述(转)
    单例模式你会几种写法?(转)
    Linux-看完这篇Linux基本的操作就会了(转)
    每天一个linux命令9之crontab 定时任务
    在linux下给grep命令添加颜色
    springmvc使用StringHttpMessageConverter需要配置编码
    MySQL 中的 base64 函数
    spirng整合rmi
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3049924.html
Copyright © 2011-2022 走看看