蒟蒻求助!!

P1746 离开中山路

你这bfs写的有点怪啊,结构体里应该是三个int的,分别表示x坐标,y坐标,当前走到这用了几步 给你看一下我代码,你参考一下
by Michael39 @ 2023-06-18 11:20:11


这是bfs阶段 ```cpp #include <iostream> #include <queue> #include <string> using namespace std; bool b[1000][1000]; string ma[1000]; int n; int dx[4]={1,0,0,-1},dy[4]={0,1,-1,0}; struct point { int x; int y; int z; }; void bfs(int qx,int qy,int zx,int zy) { b[qx][qy]=true; queue<point> q; point m;m.x=qx;m.y=qy;m.z=0; q.push(m); while(!q.empty()) { point f=q.front(); q.pop(); if(f.x==zx&&f.y==zy) { cout<<f.z;return ; } for(int i=0;i<4;i++) { int newx=f.x+dx[i]; int newy=f.y+dy[i]; if(!b[newx][newy]&&newx>=0&&newx<n&&newy>=0&&newy<n&&ma[newx][newy]!='1') { m.x=newx;m.y=newy; m.z=f.z+1; b[newx][newy]=true; q.push(m); } } } } ,,,
by Michael39 @ 2023-06-18 11:25:02


|