9MLE+1AC,求助

P1746 离开中山路

```cpp #include<iostream> #include<cmath> #include<cstdio> #include<cstring> #include<string> #include<vector> #include<queue> #include<deque> #include<stack> #include<map> #include<algorithm> #define ll long long using namespace std; int x1,yl,x2,y2; int n,m,a[1005][1005]; int dx[4]={-1,0,0,1},dy[4]={0,-1,1,0}; struct node{ int x,y; }; queue<node> q; void bfs(){ a[x1][yl]=1; q.push({x1,yl}); while(!q.empty()){ int tx=q.front().x,ty=q.front().y; for(int i=0;i<=3;i++){ int x=tx+dx[i],y=ty+dy[i]; if(x>=1&&x<=n&&y>=1&&y<=n&&a[x][y]==0){ a[x][y]=a[tx][ty]+1; if(x==x2&&y==y2){ cout<<a[x][y]-1; return ; } q.push({x,y}); } } q.pop(); } } int main(){ cin>>n; for(int i=1;i<=n;i++){ string s; cin>>s; for(int j=1;j<=n;j++){ a[i][j]=s[j-1]-'0'; } } cin>>x1>>yl>>x2>>y2; bfs(); return 0; } ``` 会了
by dldltangmen @ 2024-04-16 19:03:14


|