RE求助
  • 板块灌水区
  • 楼主Milky_Cat
  • 当前回复10
  • 已保存回复10
  • 发布时间2022/12/17 14:51
  • 上次更新2023/10/24 07:26:37
查看原帖
RE求助
906320
Milky_Cat楼主2022/12/17 14:51

代码dev测试通过,洛谷RE

Code

#include<bits/stdc++.h>
using namespace std;
bool visit[105][105][1005];
char mp[105][105];
int xx,yy,zz,mn=10005;
void dfs(int x,int y,int step){
	if(visit[x][y][step]==1||x>=xx||y>=yy||x<0||y<0||step>1000||mp[x][y]=='x')return;
	else visit[x][y][step]=1;
	if(mp[x][y]=='E'){
		if(step<mn)mn=step;
		return;
	}
	dfs(x+1,y,step+1);
	dfs(x,y+1,step+1);
	dfs(x-1,y,step+1);
	dfs(x,y-1,step+1);
}
int main(){
	cin>>xx>>yy>>zz;
	for(int i=0;i<xx;i++)for(int j=0;j<yy;j++)cin>>mp[i][j];
	if(mp[xx-1][yy-1]=='x'){
		cout<<-1;
		return 0;
	}else mp[xx-1][yy-1]='E'; 
	dfs(0,0,0);
	if(mn!=10005){
		cout<<mn;
	}else cout<<-1;
	return 0;
}
2022/12/17 14:51
加载中...