【35】蓝桥杯之迷宫(填空题)
问题描述:迷宫
X星球的一处迷宫游乐场建在某个小山坡上。
它是由10x10相互连通的小房间组成的。
房间的地板上写着一个很大的字母。
我们假设玩家是面朝上坡的方向站立,则:
L表示走到左边的房间,
R表示走到右边的房间,
U表示走到上坡方向的房间,
D表示走到下坡方向的房间。
X星球的居民有点懒,不愿意费力思考。
他们更喜欢玩运气类的游戏。这个游戏也是如此!
开始的时候,直升机把100名玩家放入一个个小房间内。
玩家一定要按照地上的字母移动。
迷宫地图如下:
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
请你计算一下,最后,有多少玩家会走出迷宫?
而不是在里边兜圈子。
参考答案:31
#include<bits/stdc++.h>
using namespace std;
int a[10][10];
int ans = 0;
string b[10];//对每个位置测试看是否能走出迷宫
// x,y代表位置
bool check(int x,int y)
{// 走出迷宫 if(x<0||x>9||y<0||y>9) return 1;
// 如果此点被访问了,又被访问,说明在兜圈子 if(a[x][y]==1) return 0;
// 标记此点被访问过 a[x][y]=1;switch(b[x][y]){case 'U':return check(x-1,y);case 'D':return check(x+1,y);case 'L':return check(x,y-1);case 'R':return check(x,y+1);default:return 0;}
}
int main(){// char b[10][];
// string b[10];b[0]="UDDLUULRUL";b[1]="UURLLLRRRU";b[2]="RRUURLDLRD";b[3]="RUDDDDUUUU";b[4]="URUDLLRRUU";b[5]="DURLRLDLRL";b[6]="ULLURLLRDU";b[7]="RDLULLRDDD";b[8]="UUDDUDUDLL";b[9]="ULRDLUURRR";for(int i=0;i<10;i++){for(int j=0;j<10;j++){// 每次测试新的位置,都把数组a全部元素重置为0
// 不然有部分被置为1了 memset(a,0,sizeof(a));if(check(i,j))ans++; }}cout<<ans<<endl;return 0;
}
- 有标记数组,可设为全局变量,但是每次重新看这个点能不能走出迷宫的时候要重设memset数组内容。memset(a,0,sizeof(a));
- 存储迷宫string数组,某个值一样可以用字符数组表示,b[x][y]。还复习了switch的用法。case ‘U’:return check(x-1,y);刚开始会漏了return. 没有return就只是递归,并不能将递归的结果返回。
【35】蓝桥杯之迷宫(填空题)相关推荐
- 递增序列-2019年蓝桥杯国赛填空题题目答案及分析
本文纯属记录作者做题时的思路作者纯属小白,可能有许多不正确地方,欢迎大家指点. [题目描述] 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于一个字母矩阵,我们称矩阵中的 ...
- 蓝桥杯2020年填空题既约分数
既约分数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 如果一个分数的分子和分母的最大公约数是 11,这个分数称为既约分数. 例如 \frac{3}{4} ,\f ...
- 蓝桥杯java-排序(填空题2020省赛)
题目描述: 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻. 在冒泡排序中,每次只能交换相邻的两个元素. 小蓝发现,如果 ...
- 2020蓝桥杯省赛填空题【卡片】
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝有很多数字卡片,每张卡片上都是数字 00 到 99. 小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个 ...
- 2021第12届蓝桥杯省赛 -- 填空题:试题B:直线
试题B:直线 问题描述 在平面直角坐标系中,两点可以确定一条直线.如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条. 给定平面上 2 × 3 个整点(x,y)∣0≤x<2,0≤y ...
- 2021第12届蓝桥杯省赛 -- 填空题:试题A:卡片
试题A:卡片 问题描述 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9. 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了. 小蓝想知道自己 ...
- 第十三届蓝桥杯模拟赛填空题
- 3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题
若发现此文章消失,则是在等待审核中,稍等一会儿即可显示,谢谢. 另外,我会尽量晚上上传更新题目. 此文章太长了,导致MD编辑器很卡,另写了一篇接续 传送门 Python解答蓝桥杯省赛真题之从入门到真题 ...
- 第八届蓝桥杯全国总决赛真题解析
36进制 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于 16 进制,我们使用字母 A−F 来表示 10 及以上的数字. 如法炮制,一直用到字母 Z,就可以表示 36 ...
- 2017年第四八届C/C++ B组蓝桥杯省赛真题
2017年第八届C/C++ B组蓝桥杯省赛真题 真题 第一题:购物单 第二题:等差素数列 第三题:承压计算 第四题:方格分割 第五题:取数位 第六题:最大公共子串 第七题:日期问题 第八题:包子凑数 ...
最新文章
- c++ string replace_JAVA应用程序开发之String类常用API
- android之descendantFocusability用法简析
- Java Stream:计数始终是计数吗?
- 海量运维、运营规划之道
- 故宫夜场门票被炒到3000元一张?网站被挤崩 故宫如此回应...
- 临近空间大气环境特性
- 小程序组件传值方法调用
- 如何使用VMware 和ISO镜像文件 安装linux虚拟机,(附有安装工具)
- Anbox安卓apk应用安装及使用说明和常见问题
- IBM J9 Java 虚拟机正式开源;PyPI 官方库被发现混入了名字相似的恶意模块
- 读取XML-致冷冽同学
- HTML中如何将字体加粗-前端入门
- 没有NAS也要搭建私有云?花生棒+硬盘的一个任性玩法
- 2019.8.22 1.属性
- 绘制流程图用什么软件好?你选对了吗?
- 360网站卫士能防服务器吗,360网站卫士测评
- 鱼眼图像校正(球面等距投影模型)
- F018-内需不足”是野鸡伪科学 #F1980
- 元素和小于等于阈值的正方形的最大边长(来源:力扣(LeetCode))
- 51单片机电子钟 是如何做成的(3)---电子钟总体结构与操作