目录

  • 题目
  • 解题思路
  • Code
  • Answer

题目

X星球的一处迷宫游乐场建在某个小山坡上。
它是由10x10相互连通的小房间组成的。

房间的地板上写着一个很大的字母。
我们假设玩家是面朝上坡的方向站立,则:
L表示走到左边的房间,
R表示走到右边的房间,
U表示走到上坡方向的房间,
D表示走到下坡方向的房间。

X星球的居民有点懒,不愿意费力思考。
他们更喜欢玩运气类的游戏。这个游戏也是如此!

开始的时候,直升机把100名玩家放入一个个小房间内。
玩家一定要按照地上的字母移动。

迷宫地图如下:

UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR

请你计算一下,最后,有多少玩家会走出迷宫?
而不是在里边兜圈子。

请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。

如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:

解题思路

  • 关于迷宫的题目,用到深度优先搜索+迭代。

Code

# -*- coding:UTF-8 -*-
"""
@Project :每日一题
@File    :迷宫2.py
@IDE     :PyCharm
@Author  :Kinght_123
@Date    :2022/1/17 22:23
"""
ls = []
with open('maze2.txt', 'r') as fp:for line in fp.readlines():ls.append(list(line.strip()))def dfs(x, y, path):  # x,y表示当前的位置,path表示路径if x < 0 or x > 9 or y < 0 or y > 9:return 1elif path > 100:return 0if ls[x][y] == 'U':return dfs(x - 1, y, path + 1)elif ls[x][y] == 'R':return dfs(x, y + 1, path + 1)elif ls[x][y] == 'D':return dfs(x + 1, y, path + 1)else:return dfs(x, y - 1, path + 1)ans = 0
for x in range(10):for y in range(10):ans += dfs(x, y, 0)
print(ans)

注意: path是用来限制迭代次数的,要不然迭代次数可能会出现超出次数的情况。

Answer

  • 31

蓝桥杯:X星球的迷宫————Python题解相关推荐

  1. 蓝桥杯算法训练cowboys-dp-递归-python题解

    cowboys(dp+递归) 问题描述 一个间不容发的时刻:n个牛仔站立于一个环中,并且每个牛仔都用左轮手枪指着他旁边的人!每个牛仔指着他顺时针或者逆时针方向上的相邻的人.正如很多西部片那样,在这一刻 ...

  2. 蓝桥杯青少创意编程python组

    第十二届蓝桥杯青少年组国赛C++中级组 第1题 -- 第3题(python3实现) 第十二届蓝桥杯青少年组国赛C++中级组 第1题 -- 第3题(python3实现)_dllglvzhenfeng的博 ...

  3. 计蒜客2020蓝桥杯大学A组模拟赛题解

    计蒜客2020蓝桥杯大学A组模拟赛题解 蓝桥杯的话,去年拿了C++组的国二.今年报名了新成立的Python组,不知道能不能摸到国一的鱼 模拟赛链接如下: https://www.jisuanke.co ...

  4. 2018年蓝桥杯A组C/C++决赛题解

    2018年第九届蓝桥杯A组C/C++决赛题解 点击查看视频题解 点击查看2018年蓝桥杯A组C/C++决赛题目(不含答案) 1:三角形面积 画个图,求三角形面积,可以用外接长方形 - 其他多余区域面积 ...

  5. 蓝桥杯 基础练习 分解质因数 python语言

    蓝桥杯 基础练习 分解质因数 python语言 描述 求出区间[a,b]中所有整数的质因数分解. 输入 输入描述: 输入两个整数a,b. 输入样例: 3 10 输出 输出描述: 每行输出一个数的分解, ...

  6. 2021年第十二届蓝桥杯软件类省赛python组试题及其解析。

    目录 一.卡片 二.直线 三.货物摆放 四.路径 五.回路计算 六.时间显示 七.杨辉三角 八.左孩子右兄弟 九.异或数列 十.括号序列 一.卡片 本题总分:5分 [问题描述] 小蓝有很多数字卡片,每 ...

  7. 2021年 第十二届蓝桥杯第二期校内模拟赛题解(Java版)

    时隔多日,终于会写一些简单DP了哈哈哈! 稍微改版,方便阅读,若有错,请指出 2019年 第十届蓝桥杯省赛题解(JavaB组版) 2020年 第十一届蓝桥杯第一场省赛题解(JavaB组版) 2020年 ...

  8. 【蓝桥杯Python组】2022年第十三届蓝桥杯省赛B组Python解题思路详解

    第十三届蓝桥杯省赛B组Python解题思路详解 因为今年采用线上的举办方式进行比赛,所以组委会对题目做了一定的调整,将原来的5道填空+5道编程题变成了2道填空+8道编程题,据说是为了防止抄袭.其实题目 ...

  9. 蓝桥杯之算法模板题 Python版

    蓝桥杯之算法模板题 Python版 文章目录 蓝桥杯之算法模板题 Python版 线段树 DP 动态规划 dp, LIS ** 01背包 完全背包 多重背包 混合背包 分组背包 区间DP 一.什么是区 ...

最新文章

  1. 〖Linux〗多个JDK版本之间快速切换
  2. linux 切换python版本_linux下多个python版本切换如何设置
  3. UNITY Destroy()和DestroyImadiate()都不会立即释放对象内存
  4. 释放mysql ibdata1文件_释放MySQL ibdata1文件的空间
  5. [ Javascript ] JavaScript中的定时器(Timer) 是怎样工作的!
  6. handsontable 方法汇总
  7. windows软件设置快捷键
  8. tomcat启动后访问404_伪Tomcat
  9. C++-实现matlab的meshgird(OpenCV)
  10. 【2】Keras之激活函数
  11. sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询
  12. Redis Cluster集群的搭建与测试
  13. python xlsxwriter生成图片保存_Python xlsxwriter库 图表Demo
  14. Data URL和图片
  15. 读取csv(excel类相关文件)常见bug,及解决办法统计
  16. android 基带版本,扫盲贴:手机基带版本到底是什么???
  17. android 360锁屏清除,“打盹”省电 360清理大师锁屏清理早已实现
  18. 树莓派+Ardunio的魔方机器人
  19. SQL Server 数据库之角色、管理权限
  20. 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动

热门文章

  1. 如何做好一份程序员的工作汇报ppt?
  2. 第二十三天-邮件自动发送
  3. Linux一个内存大页多大,Linux中的“大内存页”(hugepage)是个什么?
  4. 1.Pytorch3d教程——介绍
  5. 【Docker】笔记小结
  6. 中国首创新一代交流LED白光照明光源技术
  7. WMS与企业ERP/MES数据交换方法
  8. 基于matlab的语音信号滤波处理
  9. 2021年茶艺师(高级)最新解析及茶艺师(高级)考试试题
  10. 安全驾驶-注意交通提示牌(二十)