迷宫dfs

#include<stdio.h>
int mov1[4]={0,0,1,-1};
int mov2[4]={1,-1,0,0};
int map[5][5]={0,1,0,0,1,
      0,1,1,0,1,
      0,1,1,0,1,
      0,0,0,0,0,
      1,1,1,1,0};
void papa(int x,int y)
{
 if(x==4&&y==4)
 {
  for(int i=0;i<5;i++)
  {
   for(int j=0;j<5;j++)
   {
    printf("%d",map[i][j]);
   }printf(" ");
  }
  return;
 }
 for(int a=0;a<4;a++)
 {
  int nx=x+mov1[a];
  int ny=y+mov2[a];
  if(nx>=0&&nx<5&&ny>=0&&ny<5&&map[nx][ny]==0)
  {
   map[nx][ny]=2;
   papa(nx,ny);
   map[nx][ny]=0;
  }
 }
}
int main()
{
 papa(0,0);
 return 0;
}

原文地址:https://www.cnblogs.com/452035305qq/p/6140431.html