/*-------------------------------------------------------------------------------------------- //文件名称:MazeMouse.cpp //功 能:找出走出迷宫的所有路径,以及最短路径。 //作 者:晒晒周 --------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------- //修改记录:编号 日期 修改者 备注
// 0 2003.04.14 晒 晒 周 创 建 --------------------------------------------------------------------------------------------*/
#include "stdafx.h" #include "iostream.h" #include "string.h" #include "stdio.h"
double dMeans=0,dWalkLen=10000;//dMeans表示走出迷宫的方法,dWalkLen表示当前走出迷宫最少步数 char Maze[10][52]={ {"###################################################"}, {"% ## #### ### ### # ####"}, {"# ## # ### ### ###### ### ############ # # #"}, {"# ## ## ### ## ## # # ## # # ####"}, {"# # # ## ## ### # # ######### # # # ##"}, {"# # # # ## ########## #### ## # #"}, {"# ## ### ## ## ### #### ## ## # # ######### #"}, {"# # # ## ## # ## #### # # ## ####"}, {"#### ## #### #### ## # ### ## ## @"}, {"###################################################"}, }; //迷宫 int MazeFlag[10][51]; //迷宫的标志:0表示未走过,i(i=1,2,3,4)表示已经走过了,i表示方向。 int MazeMin[10][51]; //路径最小的迷宫的标志
void Walk(int nx,int ny);//走迷宫的函数,nx是列,ny是行 void PrintOut(); //打印路径及迷宫的函数,同时比较获取路径较短的行走方法 int Judge(int nx,int ny,int i);//判断在第nx列ny行向第i个方向走是否可以,可以返回1否则返回0。 //i=1表示向右,2表示向下,3表示向左,4表示向上
<
|