资源简介

问题描述 迷宫只有两个门,一个叫做入口,另一个叫做出口。把一只老鼠从一个无顶盖的大盒子的入口处赶进迷宫。迷宫中设置很多隔壁,对前进方向形成了多处障碍,在迷宫的唯一出口处放置了一块奶酪,吸引老鼠在迷宫中寻找通路以到达出口。求解迷宫问题,即找出从入口到出口的路径。

资源截图

代码片段和文件信息

// maze.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include
#include

#define m 10
#define n 10

typedef struct
{
int xy;    //存x坐标,y坐标
int c;   //该点的下点的可能方向,1表示向右,2表示向下,3表示向左,4表示向上
}linkstack;

linkstack top[100];
int maze[m][n]={1111111111
0001000101
1001000101
1000011001
1011100001
1000100000
1010001001
1011101101
1100010001
    1111111111};//制作迷宫矩阵
int ijkl=0;

void main()
{
for(i=0;i {
top[i].c=1;//所有方向出示是1(左)
}
printf(“the maze is:\n“);   //打印原始迷宫
for(i=0;i {
for(j=0;j printf(maze[i][j]?“■“:“㊣“);
printf(“\n“);
}
i=0;
top[i].x=1;
top[i].y=0;
maze[1][0]=2;



do{
if(top[i].c<5)
{
if(top[i].x==5 && top[i].y==9)
{
printf(“the way %d is:\n“l++);
for(j=0;j<=i;j++)
{
printf(“(%d%d)-->“top[j].xtop[j].y);
}
printf(“\n“);
for(j=0;j {
for(k=0;k {
if(maze[j][k]==0) printf(“ “);
else if(maze[j][k]==2) printf(“㊣“);
else printf(“■“);
}
printf

评论

共有 条评论