问题描述:迷宫

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;
}
  1. 有标记数组,可设为全局变量,但是每次重新看这个点能不能走出迷宫的时候要重设memset数组内容。memset(a,0,sizeof(a));
  2. 存储迷宫string数组,某个值一样可以用字符数组表示,b[x][y]。还复习了switch的用法。case ‘U’:return check(x-1,y);刚开始会漏了return. 没有return就只是递归,并不能将递归的结果返回。

【35】蓝桥杯之迷宫(填空题)相关推荐

  1. 递增序列-2019年蓝桥杯国赛填空题题目答案及分析

    本文纯属记录作者做题时的思路作者纯属小白,可能有许多不正确地方,欢迎大家指点. [题目描述] 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于一个字母矩阵,我们称矩阵中的 ...

  2. 蓝桥杯2020年填空题既约分数

    既约分数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 如果一个分数的分子和分母的最大公约数是 11,这个分数称为既约分数. 例如 \frac{3}{4} ,\f ...

  3. 蓝桥杯java-排序(填空题2020省赛)

    题目描述: 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻. 在冒泡排序中,每次只能交换相邻的两个元素. 小蓝发现,如果 ...

  4. 2020蓝桥杯省赛填空题【卡片】

    本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝有很多数字卡片,每张卡片上都是数字 00 到 99. 小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个 ...

  5. 2021第12届蓝桥杯省赛 -- 填空题:试题B:直线

    试题B:直线 问题描述 在平面直角坐标系中,两点可以确定一条直线.如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条. 给定平面上 2 × 3 个整点(x,y)∣0≤x<2,0≤y ...

  6. 2021第12届蓝桥杯省赛 -- 填空题:试题A:卡片

    试题A:卡片 问题描述 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9. 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了. 小蓝想知道自己 ...

  7. 第十三届蓝桥杯模拟赛填空题

  8. 3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题

    若发现此文章消失,则是在等待审核中,稍等一会儿即可显示,谢谢. 另外,我会尽量晚上上传更新题目. 此文章太长了,导致MD编辑器很卡,另写了一篇接续 传送门 Python解答蓝桥杯省赛真题之从入门到真题 ...

  9. 第八届蓝桥杯全国总决赛真题解析

    36进制 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 对于 16 进制,我们使用字母 A−F 来表示 10 及以上的数字. 如法炮制,一直用到字母 Z,就可以表示 36 ...

  10. 2017年第四八届C/C++ B组蓝桥杯省赛真题

    2017年第八届C/C++ B组蓝桥杯省赛真题 真题 第一题:购物单 第二题:等差素数列 第三题:承压计算 第四题:方格分割 第五题:取数位 第六题:最大公共子串 第七题:日期问题 第八题:包子凑数 ...

最新文章

  1. c++ string replace_JAVA应用程序开发之String类常用API
  2. android之descendantFocusability用法简析
  3. Java Stream:计数始终是计数吗?
  4. 海量运维、运营规划之道
  5. 故宫夜场门票被炒到3000元一张?网站被挤崩 故宫如此回应...
  6. 临近空间大气环境特性
  7. 小程序组件传值方法调用
  8. 如何使用VMware 和ISO镜像文件 安装linux虚拟机,(附有安装工具)
  9. Anbox安卓apk应用安装及使用说明和常见问题
  10. IBM J9 Java 虚拟机正式开源;PyPI 官方库被发现混入了名字相似的恶意模块
  11. 读取XML-致冷冽同学
  12. HTML中如何将字体加粗-前端入门
  13. 没有NAS也要搭建私有云?花生棒+硬盘的一个任性玩法
  14. 2019.8.22 1.属性
  15. 绘制流程图用什么软件好?你选对了吗?
  16. 360网站卫士能防服务器吗,360网站卫士测评
  17. 鱼眼图像校正(球面等距投影模型)
  18. F018-内需不足”是野鸡伪科学 #F1980
  19. 元素和小于等于阈值的正方形的最大边长(来源:力扣(LeetCode))
  20. 51单片机电子钟 是如何做成的(3)---电子钟总体结构与操作

热门文章

  1. Pintech品致-静电放电发生器的主要用途是什么?
  2. PowerPCB常见问题集之一
  3. MTK flash tool
  4. Vue 彩色头像|一个有趣的头像生成器 附源码
  5. Android系统源码
  6. 全国计算机速录等级...,全国计算机速录等级考试二级考试大纲
  7. Windows 下编辑 hosts 文件
  8. linux平台广告的发展,【互联网广告发展简史与互联网广告平台】
  9. YOLOv5实战垃圾分类目标检测
  10. SkeyeARS全景AR增强监视系统应用智慧城市解决方案