| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 455 人关注过本帖
标题:为什么我做的迷宫只有一条路径,请问能不能输出所有可能路径来,谢谢。
只看楼主 加入收藏
电脑小童
Rank: 2
等 级:论坛游民
帖 子:77
专家分:52
注 册:2010-10-16
结帖率:76.19%
收藏
已结贴  问题点数:20 回复次数:3 
为什么我做的迷宫只有一条路径,请问能不能输出所有可能路径来,谢谢。
//迷宫递归:
#include<stdio.h>
#include<stdlib.h>
#define m 3
#define n 3
typedef struct{
int x,y;
}item;
item move[4];

int path(int maze[][n+2],item move[],int x,int y,int step)
{
int i;
step++;
maze[x][y]=step;
if(x==m&&y==n)
return 1;   
for(i=0;i<4;i++)
{
if(maze[x+move[i].x][y+move[i].y]==0)
if(path(maze,move,x+move[i].x,y+move[i].y,step))
return 1;   


}

}

void main()
{
item move[4];

//int maze[m+2][n+2];
int i,j;
/* for(i=0;i<m+2;i++)
{
for(j=0;j<n+2;j++)
scanf("%d",&maze[i][j]);
}*/
int maze[m+2][n+2]={{1,1,1,1,1},{1,0,1,1,1},{1,0,0,1,1},{1,0,0,0,1},{1,1,1,1,1}};
printf("\n");
move[0].x=1;move[0].y=0;
move[1].x=0;move[1].y=1;
move[2].x=-1;move[2].y=0;
move[3].x=0;move[3].y=-1;
if(path(maze,move,1,1,1))
{
for(i=0;i<m+2;i++)
{
for(j=0;j<n+2;j++)
printf("%d ",maze[i][j]);
printf("\n");
}

}   
else printf("迷宫无路径\n");
getchar();
}
 
 
搜索更多相关主题的帖子: void include return 
2012-06-17 11:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
代码没缩进看着真麻烦啊。。
2012-06-17 12:24
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:10 
可以加些适当的注释

梅尚程荀
马谭杨奚







                                                       
2012-06-17 15:51
电脑小童
Rank: 2
等 级:论坛游民
帖 子:77
专家分:52
注 册:2010-10-16
收藏
得分:0 
没有知道的吗?
2012-06-18 10:56
快速回复:为什么我做的迷宫只有一条路径,请问能不能输出所有可能路径来,谢谢。 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031668 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved