欢迎光临散文网 会员登陆 & 注册

走出迷宫最少步数2答案(笔记)

2023-09-22 13:28 作者:泽-吾愿之  | 我要投稿

#include<bits/stdc++.h>

using namespace std;

int n,m,d[105][105],ex,ey,fx,fy;

char a[50][50];

int dx[5]={0,0,1,0,-1};

int dy[5]={0,1,0,-1,0};

bool check(int x,int y){

return x>0&&x<=n&&y>0&&y<=m;

}

void dfs(int x,int y,int z){

d[x][y]=z;

for(int i=1;i<=4;i++){

int tx=x+dx[i];

int ty=y+dy[i];

if(a[tx][ty]=='.'&&check(tx,ty)&&z+1<d[tx][ty]){

dfs(tx,ty,z+1);

}

}

}

int main(){

cin>>n>>m;

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

cin>>a[i][j];

d[i][j]=INT_MAX;

}

}

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

if(a[i][j]=='S'){

ex=i;

ey=j;

}

if(a[i][j]=='T'){

fx=i;

fy=j;

a[fx][fy]='.';

}

}

}

 

   

dfs(ex,ey,0);

cout<<d[fx][fy];


return 0;



走出迷宫最少步数2答案(笔记)的评论 (共 条)

分享到微博请遵守国家法律