最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
走迷宫:找出全部路径
时间:2008-04-26 编辑:简简单单 来源:一聚教程网
/* 走迷宫:找出全部路径*/
/* allroadmaze_20050128.c (recursive)*/
/* 2005-1-28 */
/* 输出结果到文本文件"c:\route.txt"*/
/* 首先输出01表示的迷宫地图*/
/* 然后输出全部可行通路*/
/* 迷宫地图以0表示空格1表示障碍*/
/* 横坐标从左至右为0 1 2 3...*/
/* 纵坐标从上至下为0 1 2 3...*/
#include
#include
#include
#include
#include "conio.h"
#define N 5
#define M 5
#define MAXLEN M*N
int time1=0;
int bg[M][N];
int aa[M][N];
struct pace{
int dir;
int ri;
int rj;
}road[MAXLEN];
FILE *fp;
int length=0;
int dj[]={1,0,-1,0};
int di[]={0,1,0,-1};
void makebg(int,int);
int go(int ,int ,int);
int main(){/* main()开始 */
int step=20;
int len=10;
int size=20;
int x=0,y=0;
int i=0;
makebg(M,N);
if((fp=fopen("c:\route.txt","w"))==NULL){
printf("Cannot open teh file!n");
return(-1);
}
outputmap();
go(0,0,0);
getch();
fclose(fp);
}
/* main()结束 */
/* 随机生成代表迷宫地图的数组 */
void makebg(int a,int b){
int i,j;
int ran;
int direc;
/* 初始化迷宫地图 */
for(i=0;i for(j=0;j bg[i][j]=1;
/* 随机生成迷宫通路 */
randomize();
i=j=0;direc=2;
while(1){
bg[i][j]=0;
if(i>=M-1&&j>=N-1)break;
ran=(int)rand()*4;
if(ran<1){
if(direc!=1&&i
direc=3;
}
-
上一个: 二叉排序树
-
下一个: 九宫图算法实现(过程表示法)
相关文章
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10
- .NET使用YARP通过编码方式配置域名转发实现反向代理教程 10-10
热门栏目
-
php教程
php入门 php安全 php安装 php常用代码 php高级应用 -
asp.net教程
基础入门 .Net开发 C语言 VB.Net语言 WebService -
手机开发
安卓教程 ios7教程 Windows Phone Windows Mobile 手机常见问题 -
css教程
CSS入门 常用代码 经典案例 样式布局 高级应用 -
网页制作
设计基础 Dreamweaver Frontpage js教程 XNL/XSLT -
办公数码
word excel powerpoint 金山WPS 电脑新手 -
jsp教程
Application与Applet J2EE/EJB/服务器 J2ME开发 Java基础 Java技巧及代码