Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <cmath>#include <queue>using namespace std;const int maxn = 200010;typedef long long ll;const int inf =0x3f3f3f3f;int maze[1005][1005],d[1005][1005],nn[1005],b[1005],n,m;struct node{int d,x,y;//node (int dd,int xx,int yy):x(xx), y(yy), d(dd) {}bool operator < (const node& a) const {return d>a.d;}};int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};int dis(int x,int y,int i){if(i==0)return b[y];if(i==1)return nn[x];if(i==2)return b[y-1];return nn[x-1];}void bfs(int s,int t){priority_queue<node> que;que.push(node{0,s,t});d[s][t]=0;while(!que.empty()){node q= que.top(); que.pop();