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

《剑指offer》第三十五题(复杂链表的复制)

// 面试题35&#xff1a;复杂链表的复制 // 题目&#xff1a;请实现函数ComplexListNode* Clone(ComplexListNode* pHead)&#xff0c;复 // 制一个复杂链表。在复杂链表中&#xff0c;每个结点除了有一个m_pNext指针指向下一个 // 结点外&#xff0c;还有一个m_pSibling 指向链…

蓝桥杯第八届省赛JAVA真题----最大公共子串

标题&#xff1a;最大公共子串 最大公共子串长度问题就是&#xff1a; 求两个串的所有子串中能够匹配上的最大长度是多少。 比如&#xff1a;”abcdkkk” 和 “baabcdadabc”&#xff0c; 可以找到的最长的公共子串是”abcd”,所以最大公共子串长度为4。 下面的程序是采用…

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…

软件工程--第一周学习进度

第一周所花时间4h代码量248行博客量2篇了解到的知识点关于子数组求和、微信小程序相关问题&#xff08;界面跳转&#xff0c;标签使用&#xff09;、html网页设计中块级标签以及行级标签的使用方法转载于:https://www.cnblogs.com/Qi77/p/10505494.html

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

描述&#xff1a;正则问题 考虑一种简单的正则表达式&#xff1a; 只由 x ( ) | 组成的正则表达式。 小明想求出这个正则表达式能接受的最长字符串的长度。 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是&#xff1a; xxxxxx&#xff0c;长度是6。 输入 一个由x()|组成…

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

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

蓝桥杯第八届省赛JAVA真题----承压计算

标题&#xff1a;承压计算 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 每块金属原料的外形、尺寸完全一致&#xff0c;但重量不同。 金属材料被严格地堆放成金字塔形。 7 5 8 7 8 8 9 2 7 2 8 1 4 9 1 8 1 8 8 4 1 7 9 6 1 4 5 4 5 6 5 5 6 9 5 6 5 5 4 7 9 3 5 …

关于编程思想的一点思考

计算机发展了几十年了&#xff0c;其中的技术层出不穷&#xff0c;令人眼花缭乱&#xff0c;而且每种技术还在不断更新迭代中&#xff0c;让人心烦。这篇文章是关于 我在这飞速发展中探索的思考。 一、计算机硬件 底层硬件&#xff0c;其工作原理是支撑庞大系统软件的基础&…

蓝桥杯历届试题----分糖果(模拟)

问题描述 有n个小朋友围坐成一圈。老师给每个小朋友随机发偶数个糖果&#xff0c;然后进行下面的游戏&#xff1a; 每个小朋友都把自己的糖果分一半给左手边的孩子。 一轮分糖后&#xff0c;拥有奇数颗糖的孩子由老师补给1个糖果&#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) 取模…

037_自动添加防火墙规则,开启某些服务或端口(适用于 RHEL7)

#!/bin/bash#设置变量定义需要添加到防火墙规则的服务和端口号#使用 firewall-cmd --get-services 可以查看 firewall 支持哪些服务 service"nfs http ssh"port"80 22 8080" #循环将每个服务添加到防火墙规则中for i in $servicedo echo "Adding …

Vijos 1334 ---- NASA的食物计划(01背包强化)

背景 NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安全技术问题一直大伤脑筋,因此在各方压力下终止了航天飞机的历史,但是此类事情会不会在以后发生&#xff0c;谁也无法保证,在遇到这类航天问题时,解决方法也许只能让航天员出仓维修,但是多次的维修会消耗航天员大量的能量…

大家好

2017****1016&#xff0c;我叫李双阳&#xff0c;我的爱好是滑板我的码云个人主页是&#xff1a;https://gitee.com/LSY_IT我的第一个项目地址是&#xff1a;https://gitee.com/LSY_IT/the_play_is_useless *目前代码量有150行了&#xff1b;我最喜欢大鸡腿&#xff1b;JAVA真难…

PAT L3-015 ---- 球队“食物链”(DFS)

球队“食物链” 某国的足球联赛中有N支参赛球队&#xff0c;编号从1至N。联赛采用主客场双循环赛制&#xff0c;参赛球队两两之间在双方主场各赛一场。 联赛战罢&#xff0c;结果已经尘埃落定。此时&#xff0c;联赛主席突发奇想&#xff0c;希望从中找出一条包含所有球队的“…

samba配置

samba配置&#xff1a; sudo ufw disable //关闭防火墙 sudo ufw enable //开启 sudo ufw status //查看状态 sudo vim /etc/samba/smb.conf # # Sample configuration file for the Samba suite for Debian GNU/Linux. # # # This is the main Samba configura…

21.Merge Two Sorted Lists 、23. Merge k Sorted Lists

21.Merge Two Sorted Lists 初始化一个指针作为开头&#xff0c;然后返回这个指针的next class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode* dummy new ListNode(-1);ListNode* p dummy;while(l1 && l2){if(l1->val < …

求最大公约数----辗转相除法

辗转相除法&#xff08;求最大公倍数&#xff09; 一般写法&#xff1a; public class Main {public static void main(String[] args) {System.out.println(gcd(18, 2));}private static int gcd(int a, int b) {// TODO Auto-generated method stubwhile (b ! 0) {int c a…