台州 1005
来源:互联网 发布:织梦 频道 编辑:程序博客网 时间:2024/04/29 04:07
1005: Hero In Maze
总提交: 3704 测试通过:945
描述
500年前,Jesse是我国最卓越的剑客。他英俊潇洒,而且机智过人^_^。
突然有一天,Jesse心爱的公主被魔王困在了一个巨大的迷宫中。Jesse听说这个消息已经是两天以后了,他知道公主在迷宫中还能坚持T天,他急忙赶到迷宫,开始到处寻找公主的下落。
时间一点一点的过去,Jesse还是无法找到公主。最后当他找到公主的时候,美丽的公主已经死了。从此Jesse郁郁寡欢,茶饭不思,一年后追随公主而去了。T_T
500年后的今天,Jesse托梦给你,希望你帮他判断一下当年他是否有机会在给定的时间内找到公主。
他会为你提供迷宫的地图以及所剩的时间T。请你判断他是否能救出心爱的公主。
输入
题目包括多组测试数据。
每组测试数据以三个整数N,M,T(0<n, m≤20, t>0)开头,分别代表迷宫的长和高,以及公主能坚持的天数。
紧接着有M行,N列字符,由".","*","P","S"组成。其中
"." 代表能够行走的空地。
"*" 代表墙壁,Jesse不能从此通过。
"P" 是公主所在的位置。
"S" 是Jesse的起始位置。
每个时间段里Jesse只能选择“上、下、左、右”任意一方向走一步。
输入以0 0 0结束。
输出
如果能在规定时间内救出公主输出“YES”,否则输出“NO”。
样例输入
样例输出
题目来源
ZJGSU
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
char mg[25][25];
int sum,m,n,r,a[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
struct point
{
int x,y,k;
}p;
int bfs()
{
int i;
queue<point>q;
point current,next;
q.push(p);
while(!q.empty())
{
current=q.front();
q.pop();
for(i=0;i<4;i++)
{
next.x=current.x+a[i][0];
next.y=current.y+a[i][1];
if(mg[next.x][next.y]!='*'&&next.x>=0&&next.y>=0&&next.x<n&&next.y<m)
{
if(mg[next.x][next.y]=='P')
return current.k+1;
next.k=current.k+1;
mg[next.x][next.y]='*';
q.push(next);
}
}
}
return -1;
}
int main()
{
while(scanf("%d%d%d",&m,&n,&r)&&(m||n||r))
{
int i,j;
for(i=0;i<n;i++)
cin >> mg[i];
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
if(mg[i][j]=='S') // 此处应该是mg[i][j],看了好久好看出来
{
mg[i][j]='*';
p.x=i,p.y=j,p.k=0;
}
}
sum=bfs();
if(sum!=-1&&sum<=r)
cout << "YES" <<endl;
else
cout << "NO" << endl;
}
return 0;
}
- 台州 1005
- 台州学院acm:1005 Hero In Maze
- 台州博客台州人的博客
- 阜新台州赤水1383829139824
- 台州阜康1384431899062
- 遵化台州1384432499199
- 海宁台州1384520709736
- 台州Acm-搬桌子
- 台州ACM-搬桌子
- 会议安排-台州题
- 台州代办医院诊断书
- 台州开平海阳建阳1383828388906
- 经纬财富:台州早盘天通银策略
- Hero In Maze 台州oj
- BFS台州1335营救天使
- 台州oj 5061 迷宫地图
- 台州学院acm:Crashing Robots
- 台州2481 && POJ 1915 Knight Moves
- algrothm_9*9
- hibernate 一级缓存、二级缓存和查询缓存(一)
- 计算机体系结构与参考模型
- 一种简单的分布式系统服务架构
- *Android面试实战总结2
- 台州 1005
- Unity5.3新Memory Profiler
- hibernate一级缓存 二级缓存和查询缓存(二)
- algrothm_面向对象_递归
- 如何解决Github上的 xxx.h文件not found
- 排序算法-堆排序
- MyCat分布式框架演化过程(安利贴)
- 在线查看PDF
- CSS Hack解析