【蓝桥杯省赛真题25】python密室逃脱游戏 青少年组蓝桥杯比赛python编程省赛真题解析
目录
python密室逃脱游戏
第十二届蓝桥杯青少年组python比赛省赛真题
一、题目要求
(注:input()输入函数的括号中不允许添加任何信息)
有一个室逃脱游戏,有100间密室连在一排。密室编号是从1开始连续排列一直排到第100间密室,如下图:1|2|3 |4 |5 |6|...|99 |100|
游戏规则:
1.玩家初始位置在1号密室;
2.每次玩家可以进入右边的一个密室,也可以跳过一个密室进入下个密室(如:当玩家当前在3号密室,他可以进入4号密室也可以进入5号密室)
3.有毒气的密室不能进入需要避开。
1、编程实现
给定三个正整数X,Y,M(X<YM<=100),表示三个密室编号。X号密室和Y号密室有毒气泄漏,不能进入,玩家需要进入到M号密室。按照游戏规则进入M号密室有多少种路线方案
例如: X=2,Y=4,M=7,进入M号密室有2种路线方案,分别是1->3->5->6->7路线和1->3->5->7路线。
2、输入输出
输入描述:只有一行,三个正整数X,Y,M(X<YM),X和Y表示有毒气密室编号,M表示需要进入的密室编号,且三个正整数之间以英文逗号隔开
输出描述:只有一行,一个整数,即进入M号密室有多少种路线方案
输入样例:
2,4,7
输出样例:
2
二、算法分析
- 题目相对而言看着比较复杂,但是认真分析,会发现这道题目其实是斐波那契数列的变种应用,如果没有毒气的房间,进入1号和2号房间都只有1种,进入3号房间就有1+1=2种,进入4号房间就是3号房间的数量加上2号房间的数量就是2+1=3种...依次类推符合斐波那契数列
- 但是本题加了一个限制条件就是有毒气的房间不能进,那换个思路,不能进是不是就可以表示为进入读取房间的数量为0,所以这样思考完之后就会觉得这题难度不大
- 在斐波那契数列基础上加上一个条件判断,如果等于毒气房间就返回0
三、程序编写
def f(x,y,z):
if z<=0 or z==x or z==y:
return 0;
elif z==1:
return 1;
else:
return f(x,y,z-2)+f(x,y,z-1)
x,y,z=map(int,input().split(','))
print(f(x,y,z))
四、程序说明
-
先定义了一个递归函数f(x,y,z),根据给定的参数x、y、z计算并返回一个值。
-
函数有三个参数x、y、z,分别表示三个整数。
-
程序首先进行条件判断,如果z小于等于0或者z等于x或者z等于y,那么返回0。
-
接着判断如果z等于1,那么返回1。
-
在都不满足以上条件情况下,调用递归函数f(x,y,z-2)和f(x,y,z-1),并将它们的结果相加作为返回值。
-
主程序通过map函数将输入的字符串转换为整数,并将其赋值给变量x、y和z。然后,调用f(x, y, z)函数并打印结果。
五、运行结果
2,4,7
2
六、考点分析
难度级别:中等,本题难在分析题目,如何转换成斐波那契数列,具体主要考查如下:
- 学会分析题目,找到解题思路
- 学会简单的算法知识的应用
- input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
- int函数:强制将传入对象转换成整数类型
- split函数:按照指定的分隔符进行分割
- map函数:将指定的对象按照指定的函数进行迭代,在这里是将时分秒字符串类型数据按int整数类型数字返回输出(相当于多个变量强制类型转化)
- 学会if...条件判断语句的使用:满足条件才执行相应的程序
- 学会if...else双分支语句的使用:满足条件执行一种处理程序,不满足执行另一种处理程序
- 学会if...elif...else多分支语句的使用:满足不同的条件执行不同的处理程序,最后都不满足情况下执行else后面的程序
- print函数:用于打印输出,最常见的一个函数。
- 充分掌握for循环,多分支、算法和斐波那契数列的应用
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
七、 推荐资料
1、蓝桥杯比赛
2、考级资料
3、其它资料
- 历届蓝桥杯scratch国赛真题解析
- 历届蓝桥杯scratch省赛真题解析
- 历届蓝桥杯scratch STEMA选拔赛真题解析
- 历届蓝桥杯科技素养计算思维真题解析
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析
- 零基础学习scratch3.0【入门教学 免费】
- 零基础学习scratch3.0【视频教程 114节 免费】
原文地址:https://blog.csdn.net/frank2102/article/details/136164245
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!