早教吧作业答案频道 -->其他-->
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
题意:天使(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题营救天使题意:天使(...的网友还看了以下:
sinx+cosx>m,s(x):x2+mx+1>0.如果对∀x∈R,r(x)假命题,r(x):s 2020-05-21 …
高一数学题目..不会..求解1.已知U=R,A{X∈R|1<X<4}B={X∈R|X≤-1或X≥3 2020-05-23 …
已知定义域为R的函数f(x)不是奇函数,则下列命题一定为真命题的是A任意x∈R,f(-x)≠-f( 2020-06-09 …
下列命题中的假命题是?A.任意x属于R,2^(1-x)>0B.任意x∈(0,+∞),2^x>x^( 2020-06-20 …
数学概念题.come in设函数f(x)的定义域为R,有下列三个命题1若存在常数M,使得对任意X属 2020-06-27 …
高数偏导问题设r=(x,y,z),r=IrI,r≠0,时f(x)有连续导数,求f(r)分别对x,y 2020-07-20 …
选择题(请详细写出分析题的思路,下列对应是从A到B的映射的个数是()(1)A=R,B={x属于R| 2020-07-30 …
为什么X>0(X∈R)这不是命题而若X∈R,则X>0,这又是一个命题,为什么?这两个难道不是一样的 2020-08-01 …
下列四个命题:①“∀x∈R,2x+5>0”是全称命题;②命题“∀x∈R,x2+5x=6”的否定是“ 2020-08-01 …
已知命题p:“∃x∈R*,x>1x”,命题p的否定为命题q,则q是“∀x∈R*,x≤1x∀x∈R*, 2021-01-01 …