试题 E: 迷宫
【问题描述】
下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可
以通行的地方。
010000
000100
001001
110000
迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这
个它的上、下、左、右四个方向之一。
对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,
一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。
对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式,
其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。
请注意在字典序中D<L<R<U。(如果你把以下文字复制到文本文件中,请务
必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 maze.txt,
内容与下面的文本相同)
01010101001011001001010110010110100100001000101010
00001000100000101010010000100000001001100110100101
01111011010010001000001101001011100011000000010000
01000000001010100011010000101000001010101011001011
00011111000000101000010010100010100000101100000000
11001000110101000010101100011010011010101011110111
00011011010101001001001010000001000101001110000000
试题E: 迷宫 7
第十届蓝桥杯大赛软件类省赛 C/C++ 大学 B 组
10100000101000100110101010111110011000010000111010
00111000001010100001100010000001000101001100001001
11000110100001110010001001010101010101010001101000
00010000100100000101001010101110100010101010000101
11100100101001001000010000010101010100100100010100
00000010000000101011001111010001100000101010100011
10101010011100001000011000010110011110110100001000
10101010100001101010100101000010100000111011101001
10000000101100010000101100101101001011100000000100
10101001000000010100100001000100000100011110101001
00101001010101101001010100011010101101110000110101
11001010000100001100000010100101000001000111000010
00001000110000110101101000000100101001001000011101
10100101000101000000001110110010110101101010100001
00101000010000110101010000100010001001000100010101
10100001000110010001000010101001010101011111010010
00000100101000000110010100101001000001000000000010
11010000001001110111001001000011101001011011101000
00000110100010001000100000001000011101000000110011
10101000101000100010001111100010101001010000001000
10000010100101001010110000000100101010001011101000
00111100001000010000000110111000000001000000001011
10000001100111010111010001000110111010101101111000
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个字符串,包含四种字母 D、U、L、R,在提交答案时只填写这个字符串,填
写多余的内容将无法得分。
这题没啥难的,然而当时还是写错了。拿着键盘就是干,瞎搜就行了,注意下字典序顺序就好
#include<bits/stdc++.h>
const int maxn=;
using namespace std;
string mp[maxn];
int loc[][]= {,,,-,,,-,};
char dir[]= {'D', 'L', 'R', 'U'};
int n,m;
int dist[maxn][maxn];
void bfs()
{
memset(dist,-,sizeof(dist));
dist[n-][m-]=;
queue< pair<int,int> >que;
que.push({n-,m-});
while(!que.empty())
{
pair<int,int>a,now;
now=que.front();
que.pop();
for(int i = ; i < ; i ++ )
{
int x=now.first+loc[i][];
int y=now.second+loc[i][];
if(x>=&&x<n&&y<m&&y>=&&mp[x][y]==''&&dist[x][y]==-)
{
dist[x][y]=dist[now.first][now.second]+;
que.push({x,y});
}
}
}
return ;
} int main ()
{
string ans;
scanf("%d%d",&n,&m);
for(int i = ; i < n ; i++ )
cin >> mp[i];
bfs();
int x=,y=;
while(x!=n-||y!=m-)
{
for(int i= ;i < ; i++ )
{
int x1=x+loc[i][],y1=y+loc[i][];
if(dist[x][y]==dist[x1][y1]+&&mp[x1][y1]=='')
{
x=x1,y=y1;
ans+=dir[i];
break;
} }
}
cout<<ans<<endl; return ;
}
//DDDDRRURRRRRRDRRRRDD
//DLDDRDDDDDDDDDDDDRDD
//RRRURRUURRDDDDRDRRRR
//RRDRRURRDDDRRRRUURUU
//UUUUULULLUUUURRRRUUL
//LLUUUULLUUULUURRURRU
//RURRRDDRRRRRDDRRDDLL
//LDDRRDDRDDLDDDLLDDLL
//LDLDDDLDDRRRRRRRRRDD
//DDDDRR
试题 E: 迷宫的更多相关文章
- 第十届蓝桥杯 试题 E: 迷宫
		
试题 E: 迷宫 本题总分:15 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷 ...
 - 试题 E: 迷宫 第十届蓝桥杯
		
[问题描述]下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方.010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个 ...
 - 第十届蓝桥杯2019年C/C++ 大学A组省赛试题
		
2019年蓝桥杯第十届软件类省赛 C/C++ 大 学 A 组 试题 A: 平方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包括 1 ...
 - 2019年第十届蓝桥杯C/C++程序设计本科B组省赛   E迷宫
		
试题 E: 迷宫 本题总分: 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 的为障碍,标记为 的为可 以通行的地方. 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它 ...
 - Java实现第十届蓝桥杯迷宫
		
试题 E: 迷宫 本题总分:15 分 [问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方. 010000 000100 001001 110000 迷 ...
 - 第十届蓝桥杯省赛JavaB组个人题解
		
前言 以下的第十届蓝桥杯Java B组省赛的题目题解只是我个人的题解,提供一些解题思路,仅作参考,如有错误,望大家指出,不甚感激,我会及时更改. 试题 A: 组队 ----- 答案:490 [问题描述 ...
 - 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)
		
先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...
 - 2019年第十届蓝桥杯【C++省赛B组】
		
试题 A: 组队 本题总分:5 分 作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容.每位球员担任 1 号位至 5 号位时的评分如下表所示.请你计算首发阵容 ...
 - 第十届javaB(5)
		
试题 E: 迷宫 本题总分:15 分[问题描述] 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方.010000 000100 001001 110000迷宫的入 ...
 
随机推荐
- JSON 的几种转换
			
package com.qbskj.project.util; import java.io.IOException; import java.io.Writer; import org.spring ...
 - 解决win环境下访问本机虚拟机中centos7 ftp服务器的问题
			
inux搭建ftp服务器 1.安装软件: yum install vsftpd 2.修改配置文件vsftpd.conf: vim /etc/vsftpd/vsftpd.conf 把anonymous_ ...
 - macbook 入门
			
前面的话 第一次使用 Mac 之前,需要改变一些原有思维,不应该使用 Windows 的思维习惯去使用 Mac,Mac 会节省系统维护.清理杀毒.升级驱动等操作的时间,让我们可以专注做真正重要的事情, ...
 - poj-1904(强连通缩点)
			
题意:有n个王子,每个王子都有k个喜欢的女生,王子挑选喜欢的女生匹配,然后再给你n个王子最开始就定好的匹配,每个王子输出能够结合且不影响其他王子的女生匹配 解题思路:强连通缩点,每个王子与其喜欢的女生 ...
 - bugku web 变量1
			
flag In the variable ! <?php error_reporting(0);include "flag1.php";highlight_file(__fi ...
 - codeforces850E Random Elections
			
题目链接:codeforces 850E 翻译:luogu 读题是第一要务(大选这么随便真的好吗) 其实答案问你的就是在所有选民心中支持的人的所有情况中,能让一个人连赢两场的情况数是多少 我们假设\( ...
 - Java技术栈思维导图
			
Java技术栈思维导图 Java IO流体系 设计模式
 - Alice and Bob HDU - 4111 (SG函数)
			
Alice and Bob are very smart guys and they like to play all kinds of games in their spare time. The ...
 - GraphQL
			
GraphQL 官方描述: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地 ...
 - 常用API接口签名验证参考
			
项目中常用的API接口签名验证方法: 1. 给app分配对应的key.secret2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数名称将所有请求参数按照 ...