迷宫问题
递归求解
问题描述:有一个7*8的网格,要求求出最短路径
算法:第一种解:给最外层加层墙,让他都有四个方向,然后判断有路并且未走过,就走
递归,有值返回,根据值判断是否调用输出。
第二种解:给最外层加层墙,让他都有四个方向,然后判断有路并且未走过,就走
递归,调用时判断是否出口是则,调用输出返回。
#include<stdio.h>
#include<stdlib.h>
#define R 7
#define C 8
int move[4][2] = { {1,0},
{0,1},
{-1,0},
{0 - 1}
};//存放四个方向
int stack[200][2] = { {-1,-1} };//存放路经
int top = -1;
int m[R + 2][C + 2] = {
{1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,1,1,1,0,0,1},
{1,0,1,0,0,1,0,0,1,1},
{1,0,1,0,0,0,0,1,1,1},
{1,0,0,1,0,1,0,1,1,1},
{1,1,0,1,1,1,0,1,1,1},
{1,0,0,1,0,0,0,1,1,1},
{1,1,0,0,0,1,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1}
};-
int t[R +