UVa11624(逃离火焰问题)
#include"cstdio"
#include"queue"
#include"cstring"
using namespace std;
const int MAXN=;
const int INF=0X7fffffff;
typedef pair<int,int> P;
char mp[MAXN][MAXN];
int ft[MAXN][MAXN];
int jt[MAXN][MAXN];
int dx[]={,,-,};
int dy[]={,,,-};
int n,m;
int sy,sx;
void bfs1()//第一次广搜确定 fire到达passable square的时间
{
queue<P> que;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
{
ft[i][j]=INF;
if(mp[i][j]=='F')
{
que.push(P(i,j));
ft[i][j]=;
}
}
while(!que.empty())
{
P now = que.front();que.pop();
for(int i=;i<;i++)
{
int ny=now.first+dy[i];
int nx=now.second+dx[i];
if(<=ny&&ny<n&&<=nx&&nx<m&&mp[ny][nx]!='#')
{
int dist=ft[now.first][now.second]+;
if(dist<ft[ny][nx])
{
ft[ny][nx]=dist;
que.push(P(ny,nx));
}
}
}
}
}
void bfs2()
{
memset(jt,-,sizeof(jt));
queue<P> que;
que.push(P(sy,sx));
jt[sy][sx]=;
while(!que.empty())
{
P now=que.front();que.pop();
if(now.first==||now.first==n-||now.second==||now.second==m-)
{
printf("%d\n",jt[now.first][now.second]+);//逃出迷宫,注意+1
return ;
}
for(int i=;i<;i++)
{
int ny=now.first+dy[i];
int nx=now.second+dx[i];
if(<=ny&&ny<n&&<=nx&&nx<m&&mp[ny][nx]!='#'&&jt[ny][nx]==-)
{
int dist=jt[now.first][now.second]+;
if(dist<ft[ny][nx])//若在该时刻该点没有火焰到达说明可行
{
jt[ny][nx]=dist;
que.push(P(ny,nx));
}
}
}
} printf("IMPOSSIBLE\n");
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
scanf("%*c");
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
scanf("%c",&mp[i][j]);
if(mp[i][j]=='J')
{
sy=i,sx=j;
}
}
scanf("%*c");
}
bfs1();
bfs2();
} return ;
}
UVa11624(逃离火焰问题)的更多相关文章
- Tyvj 1176 火焰巨魔的惆怅
Tyvj 1176 火焰巨魔的惆怅 背景 TYVJ2月月赛第一道 巨魔家族在某天受到了其他种族的屠杀,作为一个英雄,他主动担任了断后的任务,但是,在巨魔家族整体转移过后,火焰巨魔却被困住了,他出逃的方 ...
- 火焰图分析openresty性能瓶颈
注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...
- HTML5火焰文字特效DEMO演示
效果展示:http://hovertree.com/texiao/html5/26/ 效果图: 扫描二维码查看效果:
- Windows on Device 项目实践 3 - 火焰报警器制作
在前两篇<Windows on Device 项目实践 1 - PWM调光灯制作>和<Windows on Device 项目实践 2 - 感光灯制作>中,我们学习了如何利用I ...
- 洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...
- vijos1431[noip2007]守望者的逃离(背包动规)
描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者 在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这 个荒岛施咒,这座岛很快就会 ...
- HTML5火焰文字特效DEMO演示---转载
只有google支持 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- hdu 1728:逃离迷宫(DFS,剪枝)
逃离迷宫 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 【Vijos】1431 守望者的逃离
题目链接:https://vijos.org/p/1431 算法:贪心 描述 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒 ...
随机推荐
- 洛谷 P2051 [SDOI2009]学校食堂
传送门- 题目分析:首先,我们先看看做菜时间的运算机制.$(A~\texttt{or}~B)-(A~\texttt{and}~B)$这个试子看起来有点复杂(因为我太菜了),仔细想想,是不是可以转化为$ ...
- 【学员管理系统】0x02 学生信息管理功能
[学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...
- IE11 for Windows 7 Enterprise With SP1 故障
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jaminwm/article/details/29592027 这个故障非常诡异,卸载IE11也没实 ...
- Bootstrap学习4--Table样式(转载:https://blog.csdn.net/Fanbin168/article/details/53208869)
备注:最新Bootstrap手册:http://www.jqhtml.com/bootstraps-syntaxhigh/index.html 将<table>标签添加class=‘tab ...
- 读paper:image caption with global-local attention…
最近的图片caption真的越来越火了,CVPR ICCV ECCV AAAI很多顶级会议都有此类的文章,今天我来讲一篇发表在AAAI的文章,因为我看了大量的论文,最近感觉AAAI越来越水了.所以这篇 ...
- pinpoint agent线程模型
pinpoint agent线程模型 以下分析基于pinpoint1.7.1版本 pinpoint agent主要使用到的异步线程有4个 DeadlockMonitorThread : 死锁监测线程, ...
- 写出pythonic的python代码
http://www.cnblogs.com/dadadechengzi/p/6226071.html 1,列表推导(没当要对序列中的内容进行循环处理时,就应该尝试使用列表推倒) 在python中编写 ...
- ios多种语言的本地化思路
多语言在应用程序中一般有两种做法: 一.程序中提供给用户自己选择的机会: 二.根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法 ...
- linux下安装telnet(centos7)
1 环境 centos 7 yum已配置好 网络连接正常 2 检查是否已安装相关软件 rpm -qa|grep telnet 3 安装相关组件 yum install xinetd yum insta ...
- Excel 2007中自定义数字格式前要了解的准则
要在Excel 2007中创建自定义数字格式,首先应了解自定义数字格式的准则,并从选择某一内置数字格式开始.然后,可以更改该格式的任意代码部分,从而创建自己的自定义数字格式. 数字格式最多可包含四个代 ...