Minecraft_BE @ 2024-10-09 22:00:07
本题是经典的最短路,正解明显是BFS
这题用DFS也能做(但会T掉)废话
TLE属于正常现象,但为啥WA了
这让很蒟的我搞不懂
代码哪里错了?
TLE的DFS:
#include<bits/stdc++.h>
using namespace std;
const int dx[]={0,1,0,-1,0},dy[]={0,0,1,0,1};
int n,a1,b1,a2,b2,f[1003][1003];
char str[1003][1003];
void dfs(int x,int y,int step){
f[x][y]=step;
for(int i=1;i<=4;i++){
int _x=x+dx[i],_y=y+dy[i];
if(_x>=1&&_x<=n&&_y>=1&&_y<=n&&str[_x][_y]!='1'&&(step+1<f[_x][_y]||f[_x][_y]==0))
dfs(_x,_y,step+1);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
scanf("%s",str[i]+1);
cin>>a1>>a2>>b1>>b2;
dfs(a1,a2,0);
cout<<f[b1][b2];
return 0;
}
不要和我说为什么TLE,我问的是为啥WA
by LiuCarry @ 2024-10-09 22:07:08
额额额你dy错了额额额这这这建议先看一遍自己的代码
by LiuCarry @ 2024-10-09 22:08:11
@Minecraft_BE
by Fractured_Angel @ 2024-10-09 22:13:03
dy 数组。。。
by Minecraft_BE @ 2024-10-09 22:13:20
@LiuCarry o,thx
by Minecraft_BE @ 2024-10-09 22:14:24
此贴结