为什么TLE呀???
查看原帖
为什么TLE呀???
495133
leoqing楼主2022/7/18 17:07
#include<bits/stdc++.h>
using namespace std;
char a[35][35][35];
int l,r,c;
const int N=40;
bool vis[N][N][N];
int ans=9259;
int tx[6]={0,0,0,1,0,-1};
int ty[6]={0,0,1,0,-1,0};
int tz[6]={1,-1,0,0,0,0};
int s;
int sx,sy,sz,fz,fx,fy;
void dfs(int x,int y,int z,int bs){
	if(x==fx&&y==fy&&z==fz){
		ans=min(ans,bs);
		return;
	} 
	for(int i=0;i<6;i++){
		
		int rx=x+tx[i];
		int ry=y+ty[i];
		int rz=z+tz[i];
		
		
		if(rz>=1&&rz<=l&&rx>=1&&rx<=r&&ry>=1&&ry<=c&&!vis[rx][ry][rz]&&a[rx][ry][rz]=='.'||a[rx][ry][rz]=='E'){
			vis[rx][ry][rz]=1;
			dfs(rx,ry,rz,bs+1);
			vis[rx][ry][rz]=0;
		}
}
}
int main(){
	cin>>l>>r>>c;
	for(int i=1;i<=l;i++){
		for(int j=1;j<=r;j++){
			for(int k=1;k<=c;k++){
				cin>>a[j][k][i];
				if(a[j][k][i]=='S'){
					sx=j;
					sy=k;
					sz=i;
				}
				if(a[j][k][i]=='E'){
					fx=j;
					fy=k;
					fz=i;
				}
			}
		}
	}
	dfs(sx,sy,sz,0);
	if(ans==9259) cout<<"Trapped!";
	else cout<<"Escaped in "<<ans<<" minute(s).";
	
	return 0;
}


2022/7/18 17:07
加载中...