E - Fire! UVA - 11624

题目描述

乔在迷宫中工作。不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划。请帮助乔逃离迷宫。根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果能离开他能跑多快。

乔和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。乔可以从迷宫的任何一个边界逃离迷宫。无论是乔还是火都不会到达有墙的位置。

输入 第一行输入包含一个整数,即测试次数 每个测试用例的第一行包含两个 整数R和C,用空格分隔,1≤R,C≤1000

下面R行中,每一行都包含C个字符,以及每个字符是以下之一:

#代表墙 . 代表空地,火和乔是可通行的 J 乔在迷宫中最初的位置,火和乔是可通行的 F 代表火 在每组测试中只有一个J 输出 对于每个测试用例,如果在火蔓延的时候烧到了乔,则乔无法逃出迷宫,输出’IMPOSSIBLE’如果乔能逃出迷宫,则输出乔最快可以在几分钟内安全逃出迷宫,每组输出占一行

####
#JF#
#..#
#..# 3 3
###
#J.
#.F 样例输出
3
IMPOSSIBLE

思路如下

  • 题意:有 好多堆

    E - Fire! UVA - 11624(bfs + 记录火到达某个位置所需要的最小时间)的更多相关文章

    1. J - Fire!---UVA 11624

      题目链接 题意:J代表Joe的位置,F代表火的起点,下一刻火将会向四周扩散,求Joe逃离的最短时间,如果不能逃离输出IMPOSSIBLE; 注意火的起点可能不止一处 可以用两次bfs分别求出人到达某个 ...

    2. Fire! UVA - 11624 (两步bfs)

      题目链接 题意 人要从迷宫走出去,火会向四个方向同时扩散 分析 两步bfs,先出火到达各地时的时间(设初始时间为0,人每走一步为1s,在着一步内火可以向四周可触及的方向同时扩散),然后在bfs人,人能 ...

    3. UVa 11624 (BFS) Fire!

      也是一个走迷宫的问题,不过又有了点变化. 这里迷宫里有若干把火,而且火每秒也是向四个方向蔓延的.问人是否能走出迷宫. 我用了两遍BFS,第一遍把所有着火的格子加入队列,然后计算每个格子着火的时间. 第 ...

    4. kuangbin专题 专题一 简单搜索 Fire! UVA - 11624

      题目链接:https://vjudge.net/problem/UVA-11624 题意:一个迷宫,可能有一个或者多个地方着火了,每过1个时间消耗,火会向四周蔓延,问Joe能不能逃出迷宫,只要走出迷宫 ...

    5. uva 11624(bfs)

      11624 - Fire! Time limit: 1.000 seconds Joe works in a maze. Unfortunately, portions of the maze hav ...

    6. UVA 11624 BFS的妙用

      题意: 迷宫里起火了,有若干个障碍物,有多个起火点,起火点每经过一个时间间隔就向它的上下左右相邻的格子扩散. 有个倒霉的人好像叫做“Joe”,他要逃出来,他每次可以向上下左右任意移动一格,但是即要避开 ...

    7. Fire uva 11624

      题目连接:http://acm.hust.edu.cn/vjudge/problem/28833 /* 首先对整个图bfs一次得到火焰燃烧的时刻表 之后在bfs搜路径时加一个火烧表的判断 坑点在于:如 ...

    8. UVA 11624 Fire!(两次BFS+记录最小着火时间)

      题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

    9. UVA - 11624 Fire! bfs 地图与人一步一步先后搜/搜一次打表好了再搜一次

      UVA - 11624 题意:joe在一个迷宫里,迷宫的一些部分着火了,火势会向周围四个方向蔓延,joe可以向四个方向移动.火与人的速度都是1格/1秒,问j能否逃出迷宫,若能输出最小时间. 题解:先考 ...

    随机推荐

    1. 峰哥说技术:04-Spring Boot基本配置

      Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 04 Spring Boot基本配置 1)容器的相关配置 在Spring Boot中可以内置Tomcat. ...

    2. weex 和 appcan 的个人理解

      appcan是浏览器技术,前端代码运行在webview上,而weex是原生引擎渲染,说白了就是把H5翻译成原生. weex的官网上说,在开发weex页面就像开发普通网页一样,在渲染weex页面时和原生 ...

    3. python学习-练习题9*9乘法表巩固

      9*9乘法表 分析: 1X1为一行 1X2 2X2 为一行 for i in range(1,10): for j in range(1,i+1): print(str(i) + 'X' + str( ...

    4. 编译putty 源码去掉 Are you sure you want to close this session? 提示

      0, 为什么要编译 putty ?在关闭窗口的时候,会弹出一个 Are you sure you want to close this session?要把这个去掉.当然也可以用 OD 之类的来修改. ...

    5. c js 字符串反转

      1.例如:输入 i am     a student    输出 student a am i #include <stdio.h> #include <string.h> v ...

    6. 建议5:防止switch贯穿

      switch语句,除非明确地中断流程,否则每次条件判断后都贯穿到下一个case条件.例如 switch(expression){ case label1: statementList1 case la ...

    7. ES6 第七节 ES6中新增的数组知识(1)

      目录 ES6 第七节 ES6中新增的数组知识(1) 第七节 ES6中新增的数组知识(1) JSON数组格式转换 Array.of()方法: find()实例方法: ES6 第七节 ES6中新增的数组知 ...

    8. Python习题集(十三)

      每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 写一个函数,该函数 ...

    9. 用Python算带有进度条的圆周率

      import time scale=50 print("执行开始".center(scale//2,"-")) start=time.perf_counter( ...

    10. 记一次Metasploit心脏出血漏洞攻击测试

      打开msf框架 msfconsole