蓝桥杯第八届省赛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;}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

掌握MySQL数据库这些优化技巧,事半功倍!

一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的&#xff0c;它是随着用户量的增加&#xff0c;基础架构才逐渐完善。这篇文章主要谈谈MySQL数据库在发展周期中所面临的问题及优化方案&#xff0c;暂且抛开前端应用不说&#xff0c;大致分为以下五个阶段&am…

蓝桥杯第八届省赛JAVA真题----方格分割

标题&#xff1a;方格分割 6x6的方格&#xff0c;沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。 如图&#xff1a;p1.png, p2.png, p3.png 就是可行的分割法。 试计算&#xff1a; 包括这3种分法在内&#xff0c;一共有多少种不同的分割方法。 注意&#xff…

Python猫荐书系列:文也深度学习,理也深度学习

最近出了两件大新闻&#xff0c;相信大家可能有所耳闻。 我来当个播报员&#xff0c;给大家转述一下&#xff1a; 1、中国队在第 11 界罗马尼亚数学大师赛&#xff08;RMM&#xff09;中无缘金牌。该项赛事是三大国际赛事之一&#xff0c;被誉为中学奥数的最高难度。其中一道题…

NCRE四级网络工程师考题详解----LRU与LFU的区别

最近最少使用页面置换算法&#xff08;LRU&#xff09;淘汰的是最长时间不使用的 最近最不常用页面置换算法&#xff08;LFU&#xff09;淘汰的是一定时间内未被使用的 我们假设有主存块为3&#xff0c;所需页面的走向为2 1 2 1 2 3 4 注意,当调页面4时会发生缺页中断 若按L…

移动端与PC端页面布局区别

视口 视口是移动设备上用来显示网页的区域&#xff0c;一般会比移动设备可视区域大&#xff0c;宽度可能是980px或者1024px&#xff0c;目的是为了显示下整个为PC端设计的网页&#xff0c;这样带来的后果是移动端会出现横向滚动条&#xff0c;为了避免这种情况&#xff0c;移动…

蓝桥杯历届试题----斐波那契(矩阵快速幂)

问题描述 斐波那契数列大家都非常熟悉。它的定义是&#xff1a; f(x) 1 …. (x1,2) f(x) f(x-1) f(x-2) …. (x>2) 对于给定的整数 n 和 m&#xff0c;我们希望求出&#xff1a; f(1) f(2) … f(n) 的值。但这个值可能非常大&#xff0c;所以我们把它对 f(m) 取模…

蓝桥杯第七届国赛JAVA真题----七星填数

七星填数 如图【图1.png】所示。 在七角星的14个节点上填入1~14 的数字&#xff0c;不重复&#xff0c;不遗漏。 要求每条直线上的四个数字之和必须相等。 图中已经给出了3个数字。 请计算其它位置要填充的数字&#xff0c;答案唯一。 填好后&#xff0c;请提交绿色节点的4个…

洛谷 P1219 ---- 八皇后

题目描述 检查一个如下的6 x 6的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得每行、每列有且只有一个&#xff0c;每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6 1 3 5来描述&#xff0c;第i个数字表示在第i行…

PXE(preboot execution environment):【网络】预启动执行环节:引导 live光盘 ubuntu livecd 16.4:成功...

default menu.c32label ubuntu menu label ubuntu (version 16.04) kernel ub1604/casper/vmlinuz append root/dev/nfs bootcasper netbootnfs nfsroot192.168.56.1:/e/_temp/ub1604 initrdub1604/casper/initrd quiet splash --# 关键是搭建nfs相应的服务器器并export解压后的…

Mysql 外键创建失败原因

最近在学习PHP&#xff0c;在用mysql创建表的时候总是创建不出来&#xff0c;我用的是Navicat做的&#xff0c;虽然建不出来外键&#xff0c;但是会创建出来一个索引&#xff0c;后来才明白&#xff0c;一定要有了对应的索引才能创建外键。

PHP实现简单注册登录系统

目录结构如下&#xff0c;其中function文件夹下包含两个函数文件&#xff0c;uploads文件夹用于存放上传的文件。 注&#xff1a;博主使用的是php5&#xff0c;使用php7的小伙伴运行报错的话有一部分原因是新的语法造成的&#xff0c;修改成新语法就可以了 html页面 登录页面…

蓝桥杯第九届省赛JAVA真题----螺旋折线

标题&#xff1a;螺旋折线 如图p1.pgn所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y)&#xff0c;我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)3, dis(-2, -1)9 给出整点坐标(X, Y)&#xff0c;你能计算出dis(X, Y)…

JAVA-WEB开发环境和搭建

JAVA Web开发环境与搭建 一、下载安装JDK 1.配置jdk开发环境 JAVA_HOME 2.path 二、下载安装eclipse javaEE版本 三、安装部署tomcat 3.1、安装&#xff1a; 直接解压到指定目录即可。&#xff08;注&#xff1a;目录不要太深&#xff1b;目录不要有中文或空格&#xff09; 3.2…

Vue入门 ---- 简易留言板

##简述 初学vue&#xff0c;比Angular要简单易学一点&#xff0c;基本就是html代码json。这是第一个小的例子&#xff0c;用到了vue的几个常用方法&#xff0c;其中v-for的$index稍微有点迷惑&#xff0c;也影响了完成的速度&#xff0c;网上说是vue2.0已经取消了这种用法&…

VS Code编译Python

一、想要编译Python我们首先要安装python&#xff0c;进入官网下载python3&#xff08;不要下载python2.7&#xff0c;不就之后就不会再使用低版本的python了&#xff09; 二、配置环境变量 三、在VS Code中添加插件&#xff0c;记得添加完点击重新加载插件&#xff0c;或…

JAVA学习笔记_五JAVA开发中的WEB前端技术

css 字体属性: font-size font-style font-family font-weight font 设置字体font-family时&#xff0c;中文、英文字体设置时的顺序&#xff0c;英文在前中文在后&#xff1b; font-size&#xff1a;常用单位px&#xff0c;也用in、cm、mm、pt、pc&#xff0c;这几个简…

VS Code编译C/C++

C/C环境的配置要比python的复杂许多&#xff0c;好几个配置文件要写。 一、编译C/C的环境一般都是集成在我们的编辑器中的&#xff0c;如果电脑上有codeblock和dev c的读者可以去安装路径下找找MinGW文件夹&#xff0c;可以不用重复下载。而没有的读者则需要下载MinGW 二、配置…

Hexo+GitHub 快速搭建个人博客(一)---- 基本部署

前期准备&#xff1a; 1.Git shell 2.node.js 3.在github上创建一个仓库&#xff0c;仓库命名格式为xxx.github.io 一、安装Hexo cd进入自己想要安装的目录下&#xff0c;执行下面的命令 npm install hexo-cli -g 升级Hexo npm update hexo -g 卸载Hexo 如果安装过程中…

Gym - 101755G Underpalindromity (树状数组)

Let us call underpalindromity of array b of length k the minimal number of times one need to increment some elements bj by 1 so that the array b would become a palindrome, that is, b1  bk, b2  bk - 1, and so on. The array of length n, consisting of i…

Hexo+GitHub 快速搭建个人博客(二)---- 域名解析

前期准备&#xff1a; 备案的国内域名或者国外域名 &#xff08;后面会解释为什么&#xff0c;这里以阿里云域名为例&#xff09; 一、将个人域名与GitHub博客绑定 我们在Hexo目录下的source子目录内创建一个txt文件&#xff0c;内容写自己的域名&#xff0c;这里可以是一级…