mei ti mu!!!
#include<bits/stdc++.h>
int m,n;
char a[35][35];
int sx,sy,fx,fy,mini=2e9;
using namespace std;
int fs[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
void dfs(int x,int y,int step)
{
int inx,iny;
if(x==fx && x==fy)
{
mini=min(step,mini);
return;
}
for(int i=0;i<4;i++)
{
inx=x+fs[i][0];
iny=y+fs[i][1];
}
if(x<0 || x>fx-1 || y<0 || y>fy-1)
{
return;
}
if(a[inx][iny]!='*' && a[inx][iny]!='1')
{
a[inx][iny]='1';
dfs(inx,iny,step+1);
a[inx][iny]='0';
}
return;
}
int main()
{
cin>>m>>n;
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
cin>>sx>>sy>>fx>>fy;
a[sx][sy]='1';
dfs(sx,sy,0);
cout<<mini;
return 0;
}