欢迎来到天天文库
浏览记录
ID:58536373
大小:13.50 KB
页数:2页
时间:2020-09-03
《数据结构迷宫问题的C++代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构课程设计——迷宫问题求解代码问题描述及要求:迷宫问题求解输入:第一行n,m表示迷宫大小n*m之后有n行m列,全由01组成,0表示路,1表示墙入口设为(0,0)出口设为(n-1,m-1)输出:输出从入口到出口的所有不同解,每组解的第一行打印一个数表示第几组解,之后k行表示路径,如:1(0,0)(0,1)(1,1)代码部分(已测试,可直接运行):#include#include#defineN255intn,m,cnt;intmaze[N][N],step[N][N];structPoint{i
2、ntx,y;}path[N*N];intoper[4][2]={{0,1},{0,-1},{1,0},{-1,0}};boolisvaild(intx,inty){if(x>=0&&x=0&&y3、h[i].x,path[i].y);return;}for(inti=0;i<4;i++)if(isvaild(x+oper[i][0],y+oper[i][1])){Pointtmp;tmp.x=x+oper[i][0];tmp.y=y+oper[i][1];path[len]=tmp;step[tmp.x][tmp.y]=1;dfs(tmp.x,tmp.y,len+1);step[tmp.x][tmp.y]=0;}}voidwork(){step[0][0]=1;Pointcur;cur.x=0;cur.y=0;path[0]=4、cur;dfs(0,0,1);}intmain(){scanf("%d%d",&n,&m);for(inti=0;i
3、h[i].x,path[i].y);return;}for(inti=0;i<4;i++)if(isvaild(x+oper[i][0],y+oper[i][1])){Pointtmp;tmp.x=x+oper[i][0];tmp.y=y+oper[i][1];path[len]=tmp;step[tmp.x][tmp.y]=1;dfs(tmp.x,tmp.y,len+1);step[tmp.x][tmp.y]=0;}}voidwork(){step[0][0]=1;Pointcur;cur.x=0;cur.y=0;path[0]=
4、cur;dfs(0,0,1);}intmain(){scanf("%d%d",&n,&m);for(inti=0;i
此文档下载收益归作者所有