#include<iostream>
#include<stdlib.h>
#include<time.h>
void main()
{
const int m=10;/*迷宫的大小尺寸*/
int move[8][2]={{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1, 0},{-1, 1}};/*用数组表示东、东南、南、西南、西、西北、北、东北八个方向*/
struct position/*用结构体表示位置*/
{
int x,y;
};
char maze[m+2][m+2];
position stack[m*m+1];/*用栈存储探路过程中的数据*/
int top;/*栈顶*/
int i,x,y,ok;
position p;
srand(time(0));
for(x=1;x<=m;x++)
for(y=1;y<=m;y++)
maze[x][y]=48+rand()%2;
maze[1][1]='0';maze[m][m]='0';
for(x=0;x<=m+1;x++)
{
maze[x][0]='1';maze[x][m+1]='1';
}
for(y=0;y<=m+1;y++)
{
maze[0][y]='1';maze[m+1][y]='1';
}
p.x=1;p.y=1;
top=1;stack[top]=p;
maze[1][1]='.';
do{
p=stack[top];
ok=0;i=0;
while((ok==0)&&(i<8))
{
x=p.x+move[i][0];
y=p.y+move[i][1];
if(maze[x][y]=='0')
{
p.x=x;p.y=y;
stack[++top]=p;
maze[x][y]='.';
ok=1;
}
i++;
}
if(i==8)
{
maze[p.x][p.y]='*';
top--;
}
}
while((top>0)&&((p.x!=m)||(p.y!=m)));
/*输出探路结果*/
if(top==0) printf("没有路径\n");
else printf("有路径\n");
for(x=1;x<=m;x++)
{
printf("\n");
for(y=1;y<=m;y++)
printf("%c ",maze[x][y]);
}
printf("\n");
}
Sunny_520
- 粉丝: 4
- 资源: 4
最新资源
- matlab储能蓄电池pq控制
- 四轮独立驱动 转向路径跟踪及车辆稳定性控制 模型预测控制MPC 上层4WS+DYC,下层阿克曼转向分配和最小轮胎负荷率驱动力矩分配
- requirements-before.txt
- 基于机器学习的入侵检测系统python源码+文档说明(高分项目)
- 云计算的文件,上次漏的
- 基于机器学习的入侵检测系统python源码+入侵检测技术文档说明
- 基于机器学习的入侵检测系统python源码+报告文档(高分项目)
- pytorch基于LSTM、GRU、BPNN进行时间序列预测源码+数据(高分项目)
- 基于51单片机的自动浇花系统(原理图+程序+PCB或洞洞板+参考论文等)
- pytorch基于LSTM、GRU、BPNN进行时间序列预测源码(高分项目)
- 基于python+opencv实现的柚子缺陷识别检测源码 (高分项目).zip
- CH32V208GBU6-PWM20250107-195029.7z
- 大规模语言模型推理优化:动态裁剪加速长文本情境的LLM生成
- 多目标点路径规划-蚁群+A*算法 室内旅行商问题-送餐移动机器人(从厨房出发到达多个目标点,最后返回厨房) 1,A*算法规划两两之间的路径,并计算路径长度; 2,蚁群算法依据两点之间路径长度,规划
- 永磁同步电机(PMSM)无刷直流电机(BLDC)有限集模型预测控制(MPC) 电机MPC控制 matlab simulink仿真模型(2017) 能很好的运行,并且能达到比较理想的效果,比传统的PWM
- OpenCV4.7.0 编译过程相关资源包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈