1255:迷宫问题 2021-01-09

简介: 1255:迷宫问题 2021-01-09

1255:迷宫问题

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

定义一个二维数组

int maze[5][5] = {

0,1,0,0,0,

0,1,0,1,0,

0,0,0,0,0,

0,1,1,1,0,

0,0,0,1,0,

};

它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。

【输入】

一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。

【输出】

左上角到右下角的最短路径,格式如样例所示。

【输入样例】

0 1 0 0 0

0 1 0 1 0

0 0 0 0 0

0 1 1 1 0

0 0 0 1 0

【输出样例】

(0, 0)

(1, 0)

(2, 0)

(2, 1)

(2, 2)

(2, 3)

(2, 4)

(3, 4)

(4, 4)

1. #include <iostream>
2. #include <cstdio>
3. #include <cstring>
4. #include <algorithm>
5. using namespace std;
6. int map[6][6],p[50][4],m[50];
7. int xx[4]={-1,1,0,0};
8. int yy[4]={0,0,-1,1};
9. int x,y,t=0,w=1;
10. void bfs(int a,int b){
11.   map[a][b]=1;
12.   p[1][1]=a,p[1][2]=b,p[1][3]=0;
13.   while(w>t){
14.     t++;
15.     for(int i=0;i<4;i++){
16.       x=p[t][1]+xx[i];
17.       y=p[t][2]+yy[i];
18.       if(x>=0&&x<5&&y>=0&&y<5&&map[x][y]==0){
19.         w++;p[w][1]=x;p[w][2]=y;
20.         p[w][3]=t;map[x][y]=1;
21.         if(x==4&&y==4)return;
22.       } 
23.     }
24.   }
25. }
26. int main(int argc, char *argv[])
27. {
28.   for(int i=0;i<5;i++)
29.     for(int j=0;j<5;j++)
30.       scanf("%d",&map[i][j]);
31.   bfs(0,0);
32.   int k=0;
33.   while(w>=1){
34.     k++;m[k]=w;w=p[w][3];
35.   }
36.   for(int i=k;i>=1;i--)
37.     printf("(%d, %d)\n",p[m[i]][1],p[m[i]][2]);
38.   return 0;
39. }

 

相关文章
crash —— 查看数据结构内部成员的偏移量和地址
crash —— 查看数据结构内部成员的偏移量和地址
|
监控 数据可视化 数据挖掘
利用Matlab进行员工上网行为监控数据处理
使用Matlab处理员工上网行为监控数据,通过导入CSV数据、去除异常值并转换时间戳,进行数据预处理。然后,分析数据以计算每日上网时长并进行可视化,识别员工行为模式,如使用K-means聚类。最后,生成分析报告并自动提交结果至指定网站,提升工作效率并保障数据安全。本文提供具体代码示例,助读者实践操作。
265 2
|
数据采集 存储 数据可视化
微博数据可视化分析:利用Python构建信息图表展示话题热度
微博数据可视化分析:利用Python构建信息图表展示话题热度
乾坤子应用配置(vue3+vite)
乾坤子应用配置(vue3+vite)
1197 0
|
存储 网络协议
Wireshark的编辑菜单里隐藏了哪些功能?
Wireshark的编辑菜单里隐藏了哪些功能?
220 0
|
Rust 小程序
小程序警告:Now you can provide attr wxkey for a wxfor to improve performance
首先,无论什么程序,控制台中的警告都是会影响程序性能的。我们需要减少此类警告的出现,以提高程序的运行性能。 小程序开发的时候,遇到了如下的警告:
341 0
|
机器学习/深度学习 存储 算法
01 算法
01 算法
136 0
|
机器学习/深度学习 Web App开发 人工智能
这两位中国学者,刚刚斩获了机器人顶会RSS最佳论文奖
这两位中国学者,刚刚斩获了机器人顶会RSS最佳论文奖
407 0
AcWing——方格迷宫(有点不一样的迷宫问题)
AcWing——方格迷宫(有点不一样的迷宫问题)
207 0
|
机器学习/深度学习 人工智能 开发工具
如何利用小数据集改进深度学习模型?
本文将讨论在不用更多数据的情况下改进深度学习模型的三种方法。
如何利用小数据集改进深度学习模型?