蓝桥杯第八届省赛JAVA真题----迷宫
标题:迷宫
X星球的一处迷宫游乐场建在某个小山坡上。
它是由10x10相互连通的小房间组成的。
房间的地板上写着一个很大的字母。
我们假设玩家是面朝上坡的方向站立,则:
L表示走到左边的房间,
R表示走到右边的房间,
U表示走到上坡方向的房间,
D表示走到下坡方向的房间。
X星球的居民有点懒,不愿意费力思考。
他们更喜欢玩运气类的游戏。这个游戏也是如此!
开始的时候,直升机把100名玩家放入一个个小房间内。
玩家一定要按照地上的字母移动。
迷宫地图如下:
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
请你计算一下,最后,有多少玩家会走出迷宫?
而不是在里边兜圈子。
请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。
如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:
解析:
思路一:最简单的方法就是逐个排查,反正就10*10的矩阵,数据量也不是很大,用Excel可以做好,只不过容易出现漏掉的情况。在比赛中如果不是实在没思路了,还是要谨慎使用这种方法,很容易花不少时间最后结果还错了。
思路二:这里注意字符串的读取方式,注意每次循环都要初始化boolean[]
public class Main
{static char[][] a = new char[10][10];static boolean[][] b = new boolean[10][10];static int cnt = 0;public static void main(String[] args) {String str="UDDLUULRULUURLLLRRRURRUURLDLRDRUDDDDUUUUURUDLLRRUUDURLRLDLRLULLURLLRDURDLULLRDDDUUDDUDUDLLULRDLUURRR"; for (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {a[i][j] = str.charAt(i*10+j);}}for (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {int x = i;int y = j;init();while (true) {if (x < 0 || x > 9 || y < 0 || y > 9) {cnt++;break;}if (b[x][y] == true) {break;}b[x][y] = true;switch (a[x][y]) {case 'U':x -= 1;break;case 'D':x += 1;break;case 'L':y -= 1;break;case 'R':y += 1;break;default:break;}}}}System.out.println(cnt);}private static void init() {// TODO Auto-generated method stubfor (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {b[i][j] = false;}}}
}
蓝桥杯第八届省赛JAVA真题----迷宫相关推荐
- 蓝桥杯第八届省赛JAVA真题----k倍区间
标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍 ...
- 蓝桥杯第八届省赛JAVA真题----油漆面积
标题:油漆面积 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容也不相同. 经过 ...
- 蓝桥杯第八届省赛JAVA真题----Excel地址
标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...
- 蓝桥杯第八届省赛JAVA真题----9数算式
标题:9数算式 观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你 ...
- 蓝桥杯第八届省赛JAVA真题----包子凑数
标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就会 ...
- 蓝桥杯第八届省赛JAVA真题----分巧克力
标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...
- 蓝桥杯第八届省赛JAVA真题----正则问题
描述:正则问题 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字 ...
- 蓝桥杯第八届省赛JAVA真题----拉马车
标题:拉马车 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机 ...
- 蓝桥杯第八届省赛JAVA真题----日期问题
标题:日期问题 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的 ...
最新文章
- Android开发中应避免的重大错误
- UIWebView滚动监听
- html怎么让文本自动换行不,【HTML】让pre标签文本自动换行
- 音视频技术开发周刊 | 215
- 第五节:一个令人兴奋的ES6新特性:解构赋值
- java 一一对应的替换_java 如何实现按表替换
- Cent OS 重置root密码
- 如何设置访问共享弹出窗口
- python自动生成文章原创_【Python】皮皮AI工具( AI文章伪原创工具)
- 修改文件类型图标得方式
- 误删文件恢复免费软件推荐
- 计算机网络 如何算 子网号,计算机网络的划分以及主机号子网号的计算方法
- 人世间有两种情感:一种叫喜欢,另一种叫爱
- 从5毛到3块,涪陵榨菜是怎样让我们吃不起的?
- USACO Section 1.2 Broken Necklace
- 因子分析,主成分分析,主因子分析,因子分析函数,极大似然法——数据分析与R语言 Lecture 12
- case when then else end 以及 if 用法
- 基于java的大学生个人理财系统
- 将数据库查询出来的数据转化成树形结构
- Jenkins联合gitlab拉取代码
热门文章
- 二叉树为空意味着二叉树_不怕面试被问了!二叉树算法大盘点
- 先天性脑部发育异常_儿童脑发育不良的3大“诱因”,若孩子出现这5种异常,要警惕...
- 关联的两个字段度需要建立索引吗_索引那些事儿
- cnsl是什么意思_VS2010下创建静态链接库和动态链接库
- Java方法的可变参数
- helm安装_Helm部署和体验jenkins
- 【OpenCV 例程 200篇】98. 统计排序滤波器
- python基础课程2(看代码看注释)--条件判断|循环|函数|生成器|类
- django 按天水平分表并插入数据
- php mysql grant_mysql grant命令详解_MySQL