/**
* 实验题目:
* 求解迷宫问题的所有路径以及最短路径程序
* 实验要求:
* 输出如下图3.9所示的迷宫的所有路径,并求最短路径长度以及最短路径
*/
#include <stdio.h>
#define M 4 // 行数
#define N 4 // 列数
#define MaxSize 100 // 栈最多元素个数
int mg[M + 2][N + 2] = { // 一个迷宫,其四周要加上均为1的外框
{1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 1, 1},
{1, 0, 1, 0, 0, 1},
{1, 0, 0, 0, 1, 1},
{1, 1, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1}
};
struct
{
int i;
int j;
int di;
}Stack[MaxSize], Path[MaxSize]; // 定义栈和存放最短路径的数组
int top = -1; // 栈顶指针
int count = 1;