标题:迷宫

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真题----迷宫相关推荐

  1. 蓝桥杯第八届省赛JAVA真题----k倍区间

    标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍 ...

  2. 蓝桥杯第八届省赛JAVA真题----油漆面积

    标题:油漆面积 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容也不相同. 经过 ...

  3. 蓝桥杯第八届省赛JAVA真题----Excel地址

    标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...

  4. 蓝桥杯第八届省赛JAVA真题----9数算式

    标题:9数算式 观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你 ...

  5. 蓝桥杯第八届省赛JAVA真题----包子凑数

    标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就会 ...

  6. 蓝桥杯第八届省赛JAVA真题----分巧克力

    标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...

  7. 蓝桥杯第八届省赛JAVA真题----正则问题

    描述:正则问题 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字 ...

  8. 蓝桥杯第八届省赛JAVA真题----拉马车

    标题:拉马车 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机 ...

  9. 蓝桥杯第八届省赛JAVA真题----日期问题

    标题:日期问题 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的 ...

最新文章

  1. Android开发中应避免的重大错误
  2. UIWebView滚动监听
  3. html怎么让文本自动换行不,【HTML】让pre标签文本自动换行
  4. 音视频技术开发周刊 | 215
  5. 第五节:一个令人兴奋的ES6新特性:解构赋值
  6. java 一一对应的替换_java 如何实现按表替换
  7. Cent OS 重置root密码
  8. 如何设置访问共享弹出窗口
  9. python自动生成文章原创_【Python】皮皮AI工具( AI文章伪原创工具)
  10. 修改文件类型图标得方式
  11. 误删文件恢复免费软件推荐
  12. 计算机网络 如何算 子网号,计算机网络的划分以及主机号子网号的计算方法
  13. 人世间有两种情感:一种叫喜欢,另一种叫爱
  14. 从5毛到3块,涪陵榨菜是怎样让我们吃不起的?
  15. USACO Section 1.2 Broken Necklace
  16. 因子分析,主成分分析,主因子分析,因子分析函数,极大似然法——数据分析与R语言 Lecture 12
  17. case when then else end 以及 if 用法
  18. 基于java的大学生个人理财系统
  19. 将数据库查询出来的数据转化成树形结构
  20. Jenkins联合gitlab拉取代码

热门文章

  1. 二叉树为空意味着二叉树_不怕面试被问了!二叉树算法大盘点
  2. 先天性脑部发育异常_儿童脑发育不良的3大“诱因”,若孩子出现这5种异常,要警惕...
  3. 关联的两个字段度需要建立索引吗_索引那些事儿
  4. cnsl是什么意思_VS2010下创建静态链接库和动态链接库
  5. Java方法的可变参数
  6. helm安装_Helm部署和体验jenkins
  7. 【OpenCV 例程 200篇】98. 统计排序滤波器
  8. python基础课程2(看代码看注释)--条件判断|循环|函数|生成器|类
  9. django 按天水平分表并插入数据
  10. php mysql grant_mysql grant命令详解_MySQL