欢迎来到天天文库
浏览记录
ID:52815942
大小:41.50 KB
页数:6页
时间:2020-03-30
《数据结构老鼠迷宫VC源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#include#include#defineforif(0);elsefor#definemax300charmap[max][max];intcross,vertical;//老鼠的横纵坐标inttime;typedefstruct{intx,y;intstep;}point;points;pointqueue[100*max];inta[max][max];intdx[4]={0,1,0,-1};intdy[4]={1,0,-1,0};intvalue_place(pointtmp,int
2、i,introw,intcol){if(tmp.x+dx[i]>=0&&tmp.x+dx[i]=0&&tmp.y+dy[i]3、l){for(i=0;i<4;i++){if(value_place(tmp,i,row,col)){if(map[tmp.x+dx[i]][tmp.y+dy[i]]=='C')returnqueue[front].step+1;queue[tail].x=tmp.x+dx[i];queue[tail].y=tmp.y+dy[i];a[tmp.x+dx[i]][tmp.y+dy[i]]=1;queue[tail].step=queue[front].step+1;tail++;}}tmp=queue[++front];}return-1;}voiddisplay(in4、tn,intm){printf("迷宫地图:");for(inti=0;i5、6、map[i][j]=='L'7、8、i<09、10、i>=n11、12、13、j<014、15、j>=m)printf("输入迷宫坐标非法!");elseif(map[i][j]=='.')map[i][j]='*';elsemap[i][j]='.';display(n,m);memset(a,0,sizeof(a));ans=Bfs(s,n,m);printf("最短路径为:%d",ans);break;case'2':printf("输入想重置的限定时间:");scanf("%d",&time);printf("thenewsetlimittime:%d",time);break;case'a':if(map[cross][ver16、tical-1]=='.'&&vertical-1>=0){map[cross][vertical-1]='L';map[cross][vertical]='.';display(n,m);vertical--;s.y--;z=1;}elseif(map[cross][vertical-1]=='C'&&vertical-1>=0){printf("老鼠在规定的时间内成功地到达!");z=2;}break;case'd':if(map[cross][vertical+1]=='.'&&vertical+117、;map[cross][vertical]='.';display(n,m);vertical++;s.y++;z=1;}elseif(map[cross][vertical+1]=='C'&&vertical+1=0){map[cross-1][vertical]='L';map[cross][vertical]='.';display(n,m);cross--;s.x
3、l){for(i=0;i<4;i++){if(value_place(tmp,i,row,col)){if(map[tmp.x+dx[i]][tmp.y+dy[i]]=='C')returnqueue[front].step+1;queue[tail].x=tmp.x+dx[i];queue[tail].y=tmp.y+dy[i];a[tmp.x+dx[i]][tmp.y+dy[i]]=1;queue[tail].step=queue[front].step+1;tail++;}}tmp=queue[++front];}return-1;}voiddisplay(in
4、tn,intm){printf("迷宫地图:");for(inti=0;i5、6、map[i][j]=='L'7、8、i<09、10、i>=n11、12、13、j<014、15、j>=m)printf("输入迷宫坐标非法!");elseif(map[i][j]=='.')map[i][j]='*';elsemap[i][j]='.';display(n,m);memset(a,0,sizeof(a));ans=Bfs(s,n,m);printf("最短路径为:%d",ans);break;case'2':printf("输入想重置的限定时间:");scanf("%d",&time);printf("thenewsetlimittime:%d",time);break;case'a':if(map[cross][ver16、tical-1]=='.'&&vertical-1>=0){map[cross][vertical-1]='L';map[cross][vertical]='.';display(n,m);vertical--;s.y--;z=1;}elseif(map[cross][vertical-1]=='C'&&vertical-1>=0){printf("老鼠在规定的时间内成功地到达!");z=2;}break;case'd':if(map[cross][vertical+1]=='.'&&vertical+117、;map[cross][vertical]='.';display(n,m);vertical++;s.y++;z=1;}elseif(map[cross][vertical+1]=='C'&&vertical+1=0){map[cross-1][vertical]='L';map[cross][vertical]='.';display(n,m);cross--;s.x
5、
6、map[i][j]=='L'
7、
8、i<0
9、
10、i>=n
11、
12、
13、j<0
14、
15、j>=m)printf("输入迷宫坐标非法!");elseif(map[i][j]=='.')map[i][j]='*';elsemap[i][j]='.';display(n,m);memset(a,0,sizeof(a));ans=Bfs(s,n,m);printf("最短路径为:%d",ans);break;case'2':printf("输入想重置的限定时间:");scanf("%d",&time);printf("thenewsetlimittime:%d",time);break;case'a':if(map[cross][ver
16、tical-1]=='.'&&vertical-1>=0){map[cross][vertical-1]='L';map[cross][vertical]='.';display(n,m);vertical--;s.y--;z=1;}elseif(map[cross][vertical-1]=='C'&&vertical-1>=0){printf("老鼠在规定的时间内成功地到达!");z=2;}break;case'd':if(map[cross][vertical+1]=='.'&&vertical+117、;map[cross][vertical]='.';display(n,m);vertical++;s.y++;z=1;}elseif(map[cross][vertical+1]=='C'&&vertical+1=0){map[cross-1][vertical]='L';map[cross][vertical]='.';display(n,m);cross--;s.x
17、;map[cross][vertical]='.';display(n,m);vertical++;s.y++;z=1;}elseif(map[cross][vertical+1]=='C'&&vertical+1=0){map[cross-1][vertical]='L';map[cross][vertical]='.';display(n,m);cross--;s.x
此文档下载收益归作者所有