Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;const int N = 505;int n,m;int vis[N][N];char Map[N][N];int mx[] = {0,0,1,-1};int my[] = {1,-1,0,0};int bfs(int sx,int sy,int ex,int ey){queue<int>q;q.push(sx);q.push(sy);q.push(0);while(!q.empty()){int nx = q.front();q.pop();int ny = q.front();q.pop();int step = q.front();q.pop();if(vis[nx][ny])continue;//cout << nx <<' '<<ny << ' '<<step<<endl;//cout << ex <<' '<<ey<<endl;if(nx == ex && ny == ey){return step-1;}vis[nx][ny]=1;for(int i = 0; i < 4; i++){