蓝桥杯--算法提高 我们的征途是星辰大海 (模拟)
共有四种方格:
‘.’ 代表空地,curiosity可以穿过它
‘#’ 代表障碍物,不可穿越,不可停留
‘S’ 代表curiosity的起始位置
‘T’ 代表curiosity的目的地
NASA将会发送一系列的命令给curiosity,格式如下:“LRUD”分别代表向左,向右,向上,向下走一步。由于地球和火星之间最近时也有55000000km!所以我们必须提前判断这一系列的指令会让curiosity最终处在什么样的状态,请编程完成它。
每个测试样例第一行是一个整数N(1<=N<=50))代表迷宫的大小(N*N)。随后的N行每行由N个字符串组成,代表迷宫。接下来的一行是一个整数Q,代表有多少次询问,接下来的Q行每行是一个仅由“LRUD”四个字母的组成的字符串,字符转长度小于1000.
“I get there!”:执行给出的命令后curiosity最终到达了终点。
“I have no idea!”:执行给出的命令后curiosity未能到达终点。
“I am dizzy!”:curiosity在执行命令的过程中撞到了障碍物。
“I am out!”:代表curiosity在执行命令的过程中走出了迷宫的边界。
Sample Input
2
2
S.
#T
2
RD
DR
3
S.#
.#.
.T#
3
RL
DDD
DDRR
Sample Output
I get there!
I am dizzy!
I have no idea!
I am out!
I get there!
模拟。
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;const int maxn = 50;
char maze[maxn][maxn];
int N, Q;int solve(const string& op, int sx, int sy, int tx, int ty)
{if(sx == tx && sy == ty)return 0;for(int i = 0; i < (int)op.length(); ++i){if(op[i] == 'L') sy -= 1;else if(op[i] == 'R') sy += 1;else if(op[i] == 'U') sx -= 1;else sx += 1;if(sx < 0 || sy < 0 || sx >= N || sy >= N) return 3;if(maze[sx][sy] == '#') return 2;if(sx == tx && sy == ty) return 0;}return 1;
}int main()
{#ifdef LOCALfreopen("data.in", "r", stdin);#endif // LOCALint t;int sx, sy, tx, ty;string ans[4] = {"I get there!", "I have no idea!", "I am dizzy!", "I am out!"};cin >> t;while(t--){cin >> N;for(int i = 0; i < N; ++i)for(int j = 0; j < N; ++j){cin >> maze[i][j];if(maze[i][j] == 'S') sx = i, sy = j;if(maze[i][j] == 'T') tx = i, ty = j;}//printf("(%d, %d) -> (%d, %d)\n", sx, sy, tx, ty);cin >> Q;string op;for(int i = 0; i < Q; ++i){cin >> op;cout << ans[solve(op, sx, sy, tx, ty)] << endl;}}return 0;
}
蓝桥杯--算法提高 我们的征途是星辰大海 (模拟)相关推荐
- 蓝桥杯 算法提高 我们的征途是星辰大海
最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,curiosity可以穿过它 '#' 代表障碍物,不可穿越,不可停留 'S' 代 ...
- [蓝桥杯]测试题 E 算法提高 我们的征途是星辰大海 题解和C++示例代码
E 算法提高 我们的征途是星辰大海 时间限制:1.0s 内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表 ...
- Java实现 蓝桥杯VIP 算法提高 我们的征途是星辰大海
算法提高 我们的征途是星辰大海 时间限制:1.0s 内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,c ...
- 蓝桥杯 ADV-201 算法提高 我们的征途是星辰大海
算法提高 我们的征途是星辰大海 时间限制:1.0s 内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,c ...
- [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- [蓝桥杯][算法提高VIP]夺宝奇兵-dp
题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...
- JAVA 蓝桥杯 算法提高 阮小二买彩票
JAVA 蓝桥杯 算法提高 阮小二买彩票 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电 ...
- [蓝桥杯][算法提高VIP]阮小二买彩票
[蓝桥杯][算法提高VIP]阮小二买彩票 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下 ...
- 【蓝桥杯算法提高VIP-开灯游戏(两种超易理懂解法:暴力/位操作(切换位))(纯正C语言代码)】
蓝桥杯算法提高VIP-开灯游戏 题目描述 有9盏灯与9个开关,编号都是1~9. 每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的). 具体如下: 第一个开关控制第二, ...
最新文章
- 程序员经常去的 14 个顶级开发者社区(转)
- hibernate 7大主键生成策略详解与对象状态
- 网站优化中什么样的外链容易被删去?
- erc20 php,使用php将erc20令牌从一个帐户传输到另一个帐户
- git push 的符号笔有什么用_Git自救指南(一)——工欲善其事,必先利其器,基本概念概览...
- HA2795Billboard 可用线段树
- java 匿名对象有引用,封闭对象的引用通过匿名类java进行转义
- Centos7 关闭防火墙(Firewalld ),使用防火墙(iptables)
- python向量化编程技巧_神经网络基础之Python与向量化
- 上海交通大学计算机专业有调剂吗,上海交通大学2019计算机系考研调剂信息
- Go语言并发爬虫,爬取空姐网所有相册图片
- 找不到合适的创业路该怎么办
- BCELoss忽视某个类别
- 数据库连接池和线程池比较
- 01-2制作U盘启动盘--装机助理工具
- 离散数学课后习题答案
- 「Python入门」Python多进程
- echarts 全国各省市3D图
- Centos配置Jenkins实现Android自动打包并上传到蒲公英
- flex 解析 html5,Flex布局详解
热门文章
- 基于微信小程序的音乐播放器系统+后台管理系统(SSM+mysql)-JAVA.VUE【毕业设计、论文、源码、开题报告】
- 21天精通python电子版_小白21天精通Python是如何做到的?
- 漫画:为什么程序员没有女朋友?
- 审批流程设计方案学习
- ionic-打包成iOS系统Camera插件获取视频路径之后访问无权限
- vue3使用Pinia进行全局状态管理,Pinia安装和使用,Pinia 和 Vuex的对比
- 陈玉丹:初学者入门《网络推广》必学内容
- zzun 2076 : 三花聚顶神功
- JavaScript 计算星座和生肖
- 安搭Share:如果说格局决定人生,那么什么决定格局