//迷宫(做的第一道搜索题)
//深度优先搜索
#include<cstdio>
#include<cstring>
int dr[4][2]={ {-1,0},{0,1},{1,0},{0,-1}};
//方向数组(给定一个顺序(上,右,下,左))
bool flag[105][105],f;
//flag用来标记走过的,f标记找到了
char map[105][105];
//地图
int a,b,c,d,k,n;
void dfs(int x,int y)//’d‘代表深度;’f‘就是优先(首先);’s‘就是算法
{
if(x==c&&y==d) {f=1;return;}
//如果找到了,就标记返回
int dx,dy,i;
for(i=0;i<4;i++)
//枚举四个方向
{
dx=x+dr[i][0];
dy=y+dr[i][1];
//下一步的方向
if(map[dx][dy]=='.'&&!flag[dx][dy])
//判断可不可以走
{
flag[dx][dy]=1;
//标记走过
df
//深度优先搜索
#include<cstdio>
#include<cstring>
int dr[4][2]={ {-1,0},{0,1},{1,0},{0,-1}};
//方向数组(给定一个顺序(上,右,下,左))
bool flag[105][105],f;
//flag用来标记走过的,f标记找到了
char map[105][105];
//地图
int a,b,c,d,k,n;
void dfs(int x,int y)//’d‘代表深度;’f‘就是优先(首先);’s‘就是算法
{
if(x==c&&y==d) {f=1;return;}
//如果找到了,就标记返回
int dx,dy,i;
for(i=0;i<4;i++)
//枚举四个方向
{
dx=x+dr[i][0];
dy=y+dr[i][1];
//下一步的方向
if(map[dx][dy]=='.'&&!flag[dx][dy])
//判断可不可以走
{
flag[dx][dy]=1;
//标记走过
df