如果你用的是BFS
并且用了标记数组
还MLE了
因为
需要在走的时候,标记已经走过了的点
比如
for(int i=0;i<4;i++){
int nx=tmp.x+dx[i];
int ny=tmp.y+dy[i];
if(nx>0 && nx<=n && ny>0 && ny<=n && !vis[nx][ny]){
q.push({nx,ny,tmp.step+1});
}
}
要改成
for(int i=0;i<4;i++){
int nx=tmp.x+dx[i];
int ny=tmp.y+dy[i];
if(nx>0 && nx<=n && ny>0 && ny<=n && !vis[nx][ny]){
q.push({nx,ny,tmp.step+1});
v[nx][ny]=1;
}
}