@[tuzhewen](/space/show?uid=117648) AC代码
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,ex,ey;
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
char dt[1001][1001];
struct node
{
int x,y,s;
};
queue<node>q;
void bfs(int x,int y)
{
node l,t;
l.x=x;
l.y=y;
l.s=0;
q.push(l);
while(q.size())
{
t=q.front();
for(int i=0;i<4;i++)
{
int tx=t.x+dx[i];
int ty=t.y+dy[i];
if(dt[tx][ty]=='0'&&tx>0&&tx<=n&&ty>0&&ty<=n)
{
node z;
z.x=tx;
z.y=ty;
z.s=t.s+1;
q.push(z);
if(tx==ex&&ty==ey) printf("%d",z.s);
dt[tx][ty]='1';
}
}
q.pop();
}
}
int main(void)
{
int sx,sy;
scanf("%d",&n);
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>dt[i][j];
scanf("%d%d%d%d",&sx,&sy,&ex,&ey);
bfs(sx,sy);
}
```
by 幻之陨梦 @ 2019-06-22 21:34:02
@[ZhanLang](/space/show?uid=123808)
已经AC了,谢谢QWQ
by tuzhewen @ 2019-06-23 12:15:10
@[tuzhewen](/space/show?uid=117648) 请问你的失误原因在哪
我好像和你遇到了一样的问题
by 小资情调 @ 2019-08-25 10:34:16
@[小资情调](/space/show?uid=218398) 这不是很早的事情了吗
by tuzhewen @ 2019-08-25 21:01:32
```cpp
#include<bits/stdc++.h>
using namespace std;
int n;
char a[1005][1005];
int sx,sy,fx,fy,ans[1005][1005];
int dir[4][2]={1,0,0,1,-1,0,0,-1};
struct node{
int x,y;
};
void bfs(int x,int y)
{
ans[x][y]=0;
queue <node> q;
q.push(node{x,y});
while(!q.empty())
{
node u=q.front();
q.pop();
for(int i=0;i<4;i++)
{
int nx=u.x+dir[i][0];
int ny=u.y+dir[i][1];
if(nx>=1 && nx<=n && ny>=1 && ny<=n && ans[nx][ny]==-1 && a[nx][ny]=='0')
{
ans[nx][ny]=ans[u.x][u.y]+1;
q.push(node{nx,ny});
}
}
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>a[i][j];
}
}
cin>>sx>>sy>>fx>>fy;
memset(ans,-1,sizeof(ans));
bfs(sx,sy);
cout<<ans[fx][fy]<<endl;
return 0;
}
```
@[小资情调](/space/show?uid=218398) ACcode
by tuzhewen @ 2019-08-25 21:04:11
您自己对比一下吧
by tuzhewen @ 2019-08-25 21:04:43
谢谢,我也看到错误了
by 小资情调 @ 2019-08-25 21:13:58