早教吧 育儿知识 作业答案 考试题库 百科 知识分享

acm题营救天使题意:天使(a)被困于迷宫,它的朋友(r)去救她,在迷宫中会有守卫(x).r每走一步耗费一个单位的时间,如果路途遇上x,杀死x则需要一个单位的时间,求r找到a的最短时间.如

题目详情
acm 题 营救天使
题意:天使(a)被困于迷宫,它的朋友(r)去救她,在迷宫中会有守卫(x).r每走一步耗费一个单位的时间,如果路途遇上x,杀死x则需要一个单位的时间,求r找到a的最短时间.如果找不到就输出"Poor ANGEL has to stay in the prison all his life."
样例输入:
7
8
#.#####.
#.a#..r.
#..#x...
..#..#.#
#...##..
.#.
.
样例输出:13
我的代码:
#include
#include
using namespace std;
struct Node
{
int x,y;
int step;
}p,q,cur;
queue Q;
char map[210][210];
int m,n,startx,starty,endx,endy;
int dx[]={1,0,-1,0};
int dy[]={0,1,0,-1};
int bfs()
{
p.x=startx,p.y=starty,p.step=0;
Q.push(p);
while(!Q.empty())
{
cur=Q.front();
Q.pop();
if(cur.x==endx&&cur.y==endy)
{
return cur.step;
}
int i,xx,yy;
for(i=0;i>m>>n)
{
while(!Q.empty()) Q.pop();
memset(map,'#',sizeof(map));
startx=starty=endx=endy=-1;
for(i=1;imap[i][j];
if(map[i][j]=='r') startx=i,starty=j;
else if(map[i][j]=='a') endx=i,endy=j;
}
if(startx==-1||starty==-1||endx==-1||endy==-1) //测试用例里面有r不存在的情况
{
cout
▼优质解答
答案和解析
bfs+优先队列
看了 acm题营救天使题意:天使(...的网友还看了以下:

测试一下你的智商怎么样,还不快来试一下???1辆汽车从车站出发,中间途径20个站点到达终点站,车上  2020-05-16 …

甲乘飞机定于下午三时到机场,三点半到单位,乙开车(车速66千米每小时)准时到机场接,不料飞机早到一  2020-05-16 …

甲飞机定于下午三时到机场,三点半到单位.乙开车(车速66千米/小时)准时到机场接.不料飞机早到一小  2020-05-16 …

单晶体、多晶体、非晶体用途?单晶体、多晶体、非晶体的用途?最好详细点袄,急呢,先到先得呀  2020-05-17 …

《马克思主义哲学》第02章在线测试第一题、单项选择题(每题1分,1、意识能动性的实现必须通过一定的  2020-06-03 …

1.乘火车从甲地到乙地,已知在去得途中要停靠五个站,问有多少种车票?2.从A地到B地的铁路上,途经5  2020-10-30 …

“每一个青年的前途离不开国家的前途,没有国家的前途,也没有青年的前途。我们国家的发展,将会给每个青年  2020-11-22 …

4.甲定于下午3时乘飞机到达机场,乙驾车准时到机场去接,不料飞机早到达1时,甲信步由机场场沿公路向单  2020-12-01 …

书面表达(10分)你和父母周末外出旅游,玩得很愉快,请你以Mybigdayout为题介绍你快乐的一日  2020-12-10 …

概率统计N个人同乘一辆长途汽车,沿途有n个车站,每到一个车站时,如果没有人下车,则不停车.设每个人在  2021-01-14 …