兔宝宝游戏网 游戏攻略 手游攻略 逃离迷宫电影,hdu acm 1728题逃离迷宫如何用DFS解决

逃离迷宫电影,hdu acm 1728题逃离迷宫如何用DFS解决

时间:2025-03-11 18:37:08 作者:兔宝宝游戏网 浏览:11

逃离迷宫,最近不少朋友在找hdu acm 1728题逃离迷宫如何用DFS解决的相关介绍,兔宝宝游戏网给大家详细的介绍一下,希望对大家有帮助。

1、逃离迷宫电影:

这题的思路是求出最少的转弯数目,然后和最大的转弯数目比一比,就可以得出答案了,像这种求最少的一般用BFS比较好做的,DFS是解决一些判断定性的问题的。这题用DFS不好做。BFS可以轻松解决。

#include
#include
#include
usingnamespace std;
char map[102][102];
int visit[102][102];
int bx,by,ex,ey,step,N,M;
int XX[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
struct node{int x,y,step,dir;};
void bfs()
{
queuequ;
node t;
int k;
t.x=bx, t.y=by, t.step=0, t.dir=-1;
visit[bx][by]=0;
qu.push(t) ;
while(!qu.empty())
{
t=qu.front();
qu.pop();
for(k=0;k<4;k++)
{
node tt=t;
tt.x+=XX[k][0], tt.y+=XX[k][1];
if(tt.x<1||tt.x>M||tt.y<1||tt.y>N||map[tt.x][tt.y]=='*')
continue;
if(tt.dir!=k&&tt.dir!=-1)tt.step++;
if(tt.step>step)continue;//!!!
if(tt.x==ex&&tt.y==ey)
{
cout<<"yes\n";return;
}
if(visit[tt.x][tt.y]>=tt.step)
{ tt.dir=k;
visit[tt.x][tt.y]=tt.step;
qu.push(tt);
}
}
}
cout<<"no\n";
return ;
}
int main()
{
int CASE,i,j;
cin>>CASE;
while(CASE--)
{
cin>>M>>N;//M行 N列
for(i=1;i<=M;i++)
for(j=1;j<=N;j++)
{
cin>>map[i][j];
visit[i][j]=999;
}
cin>>step>>by>>bx>>ey>>ex;//x对应列
if(bx==ex&&by==ey)
{cout<<"yes\n"; continue;}
bfs();
}
return0;
}

2、最终幻想1复刻版的逃离迷宫魔法:

首先一个人,同一等级的魔法只可以学三种。请先看看你那个等级的魔法是不是已经学够三个了。至于用处,在迷宫中使用可以直接回到大地图。

总结:以上内容就是针对逃离迷宫电影,hdu acm 1728题逃离迷宫如何用DFS解决的详细介绍,大家可以参考一下。

标题:逃离迷宫电影,hdu acm 1728题逃离迷宫如何用DFS解决
链接:http://www.qzj2.com/article/48189.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
海龟汤题目和答案全套恐怖高难度,细思极恐的冷门海龟汤

海龟汤题目和答案全套恐怖高难度,细思极恐的冷门海龟汤,细思极恐海龟汤大全及答案汤面:有兄弟三人,感情非常好

2025-03-11
gta5武器秘籍大全(完整版)无限子弹,gta5的武器秘籍有哪些

gta5武器秘籍大全,完整版无限子弹,gta5的武器秘籍有哪些,gta5武器全满代码是:IFWEREARCHMAN。其他秘籍:一、武

2025-03-11
梦幻西游义绝墨魂笔3x攻略(神器义绝墨魂笔之踪攻略)

梦幻西游义绝墨魂笔3x攻略,可以这么说,这个神器是3X神器挑战里最难刷的了,对于没刷过的朋友来说更难,那么怎么刷

2025-03-11
公交车里抓着摇曳的手环诗情,清晨时见雾青草沾雨露是什么歌

公交车里抓着摇曳的手环诗情,清晨时见雾青草沾雨露是什么歌,是马良的《醒着醉》里的歌词。醒着醉作词:马良作

2025-03-11