下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。
010000
000100
001001
110000
迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共 10 步。其中 D、 U、 L、 R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。请注意在字典序中D<L<R<U。

#include <bits/stdc++.h>
using namespace std;
const int N = 110;
struct node
{int x, y;string path;
};
int g[N][N]; //记录地图
int vis[N][N]; //标记数字,0表示没走过,1表示走过
queue<node> q;
int dx[4] ={1,0,0,-1},dy[4] = {0,-1,1,0}; //D<L<R<U
char dir[4] = {'D','L','R','U'};
void bfs()
{node now;now.x = 0,now.y = 0;q.push(now);vis[0][0] =1;while(q.size()){node t = q.front();if (t.x==29 && t.y ==49 ){cout <<t.path<<endl;return;}for(int i = 0 ; i < 4 ; i++){node tt;tt.x = t.x + dx[i], tt.y = t.y +dy[i], tt.path = t.path + dir[i];if (tt.x >=0 && tt.x < 30 && tt.y >= 0 && tt.y <50 && g[tt.x][tt.y]==0 && vis[tt.x][tt.y]==0){vis[tt.x][tt.y] = 1;q.push(tt);}}q.pop();}}
int main()
{string s;for (int i = 0 ; i < 30 ; i ++){cin >> s;  //读入30行字符串for (int j = 0 ; j < 50 ; j ++){g[i][j] = s[j] -'0'; //将字符串转换成int数组}}bfs();return 0;
}

2019蓝桥杯 - 迷宫相关推荐

  1. 2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会

    2019 蓝桥杯省赛 B 组模拟赛(一)蒜厂年会 这题有两种情况 1.最大的和是在0~n-1 2.最大的和越过了首尾 这时候只要用n个数的和 - 0~n-1 的连续的最小和 这是求连续子集最大.最小 ...

  2. 蓝桥杯-迷宫(DFS)

    蓝桥杯-迷宫(DFS) 题目描述 X 星球的一处迷宫游乐场建在某个小山坡上.它是由 10 \times 1010×10 相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡 ...

  3. 2019蓝桥杯每周一题第二周之Mineweep(扫雷)

    2019蓝桥杯每周一题第二周之Mineweep(扫雷) 写在开头: 写这个题的时候真的是一次次的纠错,题不难,里面的逻辑关系有复杂,每一次都以为会运行正确了,结果又一个小地方出错,写了一上午还是有问题 ...

  4. 2019 蓝桥杯 C/C++实现 B组国赛

    2019 蓝桥杯 C/C++实现 B组国赛 题目列表 A:平方序列 B:质数拆分 C:拼接 D:求值 E:路径计数 F:最优包含 G:排列数 H:解谜游戏 I:第八大奇迹 J:燃烧权杖 A:平方序列 ...

  5. 2019蓝桥杯A组C++题目

    2019 蓝桥杯 A组题目解析 试题A:平方和 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1.2.9.10 至 32.39 和 40,共 28 ...

  6. 2019 蓝桥杯省赛 B 组模拟赛(一)——计蒜客(未完待续)

    比赛链接: 2019 蓝桥杯省赛 B 组模拟赛(一) 友情提示: 蓝桥杯的头文件,如果不是都记得,可以直接万能头文件 #include <bits/stdc++.h>, 不过有的时候,这样 ...

  7. 2019蓝桥杯B组省赛反思总结

    赛后感想 上周日(3月24日)蓝桥杯拉下帷幕,可惜未能如愿进入国赛,想想还是挺难受的.自己搞算法毕竟也搞了有一段时间了,不敢说怎么样,自己也懂,刷题和训练什么的也坚持下来了.这次失利还是有很多个人因素 ...

  8. 2019蓝桥杯B组C++省赛题目及感受

    2019年第十届蓝桥杯大赛软件类省赛C/C++大学B组 试题 A:组队 本题总分:5分 [问题描述] 作为篮球队教练,你需要从以下名单中选出 1号位至 5号位各一名球员, 组成球队的首发阵容. 每位球 ...

  9. 蓝桥杯java组多少分能拿奖_记 2019蓝桥杯校内预选赛(JAVA组) 赛后总结

    引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实 ...

  10. 2019蓝桥杯国赛总结

    5月24号我们激动地乘着火车向北京出发了,时隔七个多小时,大概下午两点我们抵达北京西站,然后去石景山西黄村附近找个宾馆住下来,夏天的炎热在那天似乎在欢呼着我们的到来,那天下午显的格外热,我们同行十几人 ...

最新文章

  1. 深度Linux13,Ubuntu 13.04安装Linux Deepin特色软件
  2. 栈判断字符串是否为中心对称_数据结构和算法入门之判断括号字符串的合法性(valid parentheses)...
  3. 可以通过执行报表RSVMCRT_MINI_DEBUGGER 查看CRM IPC中定价计算公式的相关源代码
  4. VS2010 NDoc的插件工具
  5. jQuery实现鼠标划过展示大图的方法
  6. MacOS 安装 Telnet
  7. 【HDU1166】敌兵布阵,线段树练习
  8. java 307跳转_java – failure:retrofit.RetrofitError:307临时重定向?
  9. 机器学习中常用的优化方法
  10. linux常用命令之文件管理
  11. 数据统计分析(SPSS)【6】
  12. 大数据应用之 --- apache doris 基于ssb测试
  13. C. Dominant Piranha(思维)
  14. windows驱动签名
  15. 领导喜欢员工的15种素质
  16. Istio系列学习(十四)----Istio策略适配器配置和Env适配器配置
  17. “/Ox”和“/RTC1”命令行选项不兼容 或者 ml.exe 退出
  18. 工作安排(反悔贪心板子题)
  19. 【 Git 操作 】
  20. 数学建模系列-预测模型(一)灰色预测模型

热门文章

  1. 抖音运营详细教程,算法解读、平台规则、热门涨粉......丨国仁网络
  2. 腾讯云服务器购买详细教程
  3. vue监听浏览器进入页面_vue禁止浏览器F5进行刷新和监听浏览器刷新事件
  4. 关于URL的转码与解码
  5. Flash 芯片类型介绍
  6. 美团外卖数据采集接口
  7. Rust_lings
  8. 面包板电源线怎么接_电路实验中,直接用面包板连接线将电源短路会产生什么问题?...
  9. 计算机重做系统 d盘,pe重装系统后原c盘变称了d盘如何解决
  10. PR更改视频画布大小。PR剪裁视频。PR导出视频时的适应视屏大小都是啥意思啊?