⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maze.cpp

📁 单链表倒序
💻 CPP
字号:
#include   <iostream>   

const int size=5;   
const bool T=true;   
const bool F=false;   
bool  MARK[size][size];           

bool GetMaze(bool Maze[size][size],int x,int y); 
int main()   
{   
	bool   Maze[size][size]=                       //设置迷宫   
 {    
	{T, F, F, T, F},   
	{F, T, T, F, F},   
	{F, F, T, F, T},   
	{F, T, T, T, F},    
	{F, F, F, T, T},   
 };     
	
    int i,j;
    printf("如果迷宫不可过,没有任何输出!\n");
	printf("倒输路径:\n");
	for(i=0;i<size;i++)   
	for(j=0;j<size;j++)    
	MARK[size][size]=false;                     //判断路径是否走过的矩阵初值为零
    
	GetMaze(Maze,0,0);                                 //完成走迷宫过程
   	return   0;   
}   
  bool GetMaze(bool Maze[size][size],int x,int y)   
  {   
      int X,Y;   
	  int MOVE[8][2] = {{0, -1},{1, 0}, {0, 1}, {-1, 0}, {1, 1}, {1, -1}, {-1, -1}, {1, -1}};   
	  int i;
	  if ((size-1)==x&&(size-1)==y)              //判断迷宫是否走到头
		  return   true;   
	  else   
	  {   
		for(i=0;i<8; i++)                               //记录走过的路径,如果迷宫可通过
	  {   
		 MARK[x][y]=true;   
		 X =x+MOVE[i][0];   
		 Y =y+MOVE[i][1];   
         if(X>=0&&X<size&&Y>=0&&Y<size&&Maze[X][Y]&&!MARK[X][Y])  
		 { 
		   if(GetMaze(Maze,X,Y))                                //递归过程
           {
			   printf("y=%d , x=%d \n", X, Y);                   //输出结果
		       return true;
		   }			   
         }			 
	  }     
		  return false;    
	  }   
  } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -