int stx,sty,edx,edy;
char va[2000][2000];
int vis[2000][2000];
int dist[2000][2000];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
void bfs()
{
queue<pair<int,int>>q;
vis[stx][sty]=1;
dist[stx][sty]=0;
q.push({stx,sty});
while(q.size()>=1)
{
pair<int,int> now=q.front();
q.pop();
int x=now.first,y=now.second;
for(int i=0;i<=3;i++)
{
int xx=x+dx[i],yy=y+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&vis[xx][yy]==0)
{
vis[xx][yy]=1;
dist[xx][yy]=dist[x][y]+1;
q.push({xx,yy});
}
}
}
}
02-08
682
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)