#BFS#C++#萌新#无输出求助
查看原帖
#BFS#C++#萌新#无输出求助
247159
林楚颜楼主2020/7/29 19:49
#include<bits/stdc++.h>
using namespace std;
int a[1050][1050],b[1050][1050],n,m,x,y,dx[]={0,-1,0,1,0},dy[]={0,1,0,-1,0},za,zb;
char cha;
int xa,ya,x2,y2,k;
struct data{int x,y,s;} d,t;
queue<data> q;
int main()
{
  cin>>n;
  for(int i=1;i<=n;i++)
  {
  	for(int j=1;j<=n;j++)
    {
      cin>>cha;
	  a[i][j]=cha-48;
    }
  }
  cin>>x>>y>>za>>zb;
  d.x=x;d.y=y;d.s=0;
  a[x][y]=2;
  q.push(d);
  while(!q.empty())
  {
  	t=q.front();q.pop();
  	xa=t.x;ya=t.y;k=t.s;
  	for(int i=1;i<=4;i++)
    {
      x2=t.x+dx[i],y2=t.y+dy[i];
      cout<<x2<<y2;
      if(x2>=1&&x2<=n&&y2>=1&&y2<=n&&a[x2][y2]==0)
      {
        if(x2==za&&y2==zb)
         {
           cout<<k+1;
           return 0;
         }
         else
        {
          d.x=x2;
          d.y=y2;
          d.s=k+1;
          a[x2][y2]=2;
          q.push(d);
        }
      }
    }
  }
  return 0;
}

求问大佬

2020/7/29 19:49
加载中...