(数据结构)用C++解决迷宫问题
来源:百度知道 编辑:UC知道 时间:2024/05/29 05:01:49
迷宫时一些互相连通的交叉路口的集合,给定一个迷宫入口,一个迷宫出口,当从入口到出口存在通路时输出其中的一条通路,当从入口到出口不存在通路时输出无通路存在。
要求
随机产生一个mXn的迷宫,0和1分别表示迷宫中的通路和障碍。存在回路时能记住已经走过的路口,不重复已经走过的路口。
要求
随机产生一个mXn的迷宫,0和1分别表示迷宫中的通路和障碍。存在回路时能记住已经走过的路口,不重复已经走过的路口。
用纯C写成的.关系迷宫的产生自己写一个函数吧.
#include <stdio.h>
#include <stdlib.h>
int a[6][10]={ {0,1,1,1,1,1,1,1,1,1},
{0,1,0,0,1,0,0,0,0,1},
{0,0,0,1,1,0,0,1,0,1},
{0,1,1,0,0,0,1,1,0,1},
{0,0,0,0,1,0,0,0,0,1},
{1,1,1,1,1,1,1,1,0,0}
};
int b[200],c[200];
int step=0,method=0;
int walk(int x,int y);
void out(void);
void main()
{
int i;
for(i=0;i<200;++i)
b[i]=c[i]=-1;
walk(0,0);
printf("\nThere are %d methods.",method);
printf("\n");
}
void out(void)
{
int i;
printf("\nThe NO.%d method:\n",method+1);
for(