Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;int MAP[505][505],vis[505][505];int x[505],y[505],n,m;int mx[] = {0,0,1,-1};int my[] = {1,-1,0,0};struct Node{int x,y,p;};bool operator < (Node s,Node b){return s.p > b.p;}int bfs(int sx,int sy,int ex,int ey){memset(vis,0,sizeof(vis));priority_queue<Node>q;while(!q.empty())q.pop();Node s;s.x = sx;s.y = sy;s.p = 0;vis[sx][sy] = 1;q.push(s);while(!q.empty()){Node a = q.top();