求最短路bfs
#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
int n,m;
int dx[10]={0,0,-1,1};
int dy[10]={1,-1,0,0};
int book[30][30];
char g[30][30];
int x1,yy,x2,y2;
typedef pair<int,int>PII;
int f;
void bfs()
{
queue<PII>q;
q.push({x1,yy});
book[x1][yy]=1;
while(q.size())
{
PII t=q.front();
q.pop();
book[x1][yy]=0;
if(t.x==x2&&t.y==y2)
{
f=1;
return;
}
for(int i=0;i<4;i++)
{
int nx=dx[i]+t.x;
int ny=dy[i]+t.y;
if(nx<0||ny<0||nx>=n||ny>