超级玛丽(爬楼梯问题)

【第47题】超级楼梯加强版 | 泰波那契数列 难度:★★☆☆☆,泰波那契数列 阅读详情

题目描述

大家都知道"超级玛丽"是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步。有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2,…am,陷入其中则必死无疑。显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的。
现在给出小道的长度n,陷阱的个数及位置。求出玛丽从位置1开始,有多少种跳跃方法能到达胜利的彼岸(到达位置n)。
输入

    第一行为两个整数n,m
    第二行为m个整数,表示陷阱的位置

输出

    一个整数。表示玛丽跳到n的方案数

样例输入

4 1
2

样例输出

1

提示

数据规模和约定

    40>=n>=3,m>=1

    n>m;

    陷阱不会位于1及n上

看了网上好多解答都觉得好复杂的样子
其实就是爬楼梯的移步方程f(n)=f(n-1)+f(n-2)减去踩到陷阱的
陷阱的位置也给出了
直接每次暴力搜索会不会踩陷阱上就好了

import java.util.*;

public class Main {
	public static int m;
	public static void main(String args[]) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		m=sc.nextInt();
		int a[]=new int[m];
		for(int i=0;i<m;i++)
			a[i]=sc.nextInt();
		System.out.println(f(n,a));
	}
	
	public static int f(int i,int a[]) {
		for(int j=0;j<m;j++)	//	比爬楼梯多了这步是否踩陷阱上而已
			if(a[j]==i)
				return 0;//在位置上就不加一
		if(i==1)
			return 1;
		if(i==0)
			return 0;
		return f(i-1,a)+f(i-2,a);
	}
}

华为OD机试真题 Java&Go 实现【超级玛丽过吊桥】【2023 Q2 | 100分】 超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。 阅读详情

相关推荐

华为OD机试真题 JS 实现【超级玛丽过吊桥】【2023 Q2 | 100分】

超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。

MISAYAONE的博客 5924

超级楼梯(斐波那契数列)

分析:解决这道题的时候要分析试题内部的内在规律,解析题目的内涵,由此可以发现使用顺推的方法很难解决这道题,反而使用逆推的方法可以更好的解决问题。首先我们应该思考一下:当级数为m=n时,最后一级的前一级只能是n-1或者n-2,也就是也就是到达n-1的走法加上到达n-2的走法之和。输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。f(n)=f(n-1)+f(n-2) (n>3) 此公式为斐波那契数列公式。2005实验班短学期考试。

m0_74282945的博客 361

华为OD机试真题 C++ 实现【超级玛丽过吊桥】【2023 Q2 | 100分】

超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。

MISAYAONE的博客 3612

【递推算法问题详解:超级楼梯与骨牌铺方格】

本文详细探讨了具有递推性质的"超级楼梯"和"骨牌铺方格"问题,通过详细分析,得出了递推表达式及相应的编程实现。针对不同的问题场景,还进行了问题拓展和深入分析。

B_T_D的博客 2586

华为OD机试真题 C 实现【超级玛丽过吊桥】【2023 Q2 | 100分】

超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。

MISAYAONE的博客 5500

华为OD机试2023(JS,C++,JAVA,PYTHON)-超级玛丽过吊桥

超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,一旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命如果跨过了管道,将跌入悬崖,通关失败。超级玛丽从起点 S S S 开始,可以走到下一个木板(计 1),也可以跳着跨过一个块(计 2)或两个木板(计 3), 最终必须刚好走到终点 E E E。

qznjj6的博客 308

超级楼梯问题

超级楼梯 (时间限制:3000MS 内存限制:32768KB) 统计 描述 有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? 输入 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1 输出 对于每个测试实例,请输出不同走法的数量

Mr__Dp的博客 1315

【限时免费】20天拿下华为OD笔试之【DP】2023Q2-超级玛丽过吊桥-200分【欧弟算法】全网注释最详细分类最全的华为OD真题题解

超级玛丽好不容易来到新的一关。有一个长长的吊桥共有N个木板,从吊桥一段的外侧开始跳(第0块),每一次可跳123步,其中有一些木板是陷阱,踩到即消耗一点生命值并在陷阱原地复活,刚好跳到吊桥的另一侧(第N+1块)则通关。给定起始生命数量M,吊桥长度N,陷阱木板数量K及K个陷阱木板的编号,求保证生命值大于0条件下所有可能的通关路线数量。

weixin_48157259的博客 1387

算法题:超级楼梯(斐波那契)

题目: 分析: 1、因为每次只能走 1 步或 2 步,所以从第一级走上第二级只能上 1 步,只有一种走法。 f ( 2 ) = 1 2、从第一级走到第三级,可以从第一级上 2 步,也可以从第二级上 1 步,有两种走法。 f ( 3 ) = 2 3、所以,走上第 n 级,可以从第 n-1 级上 1 步,也可以从第 n-2 级上 2 步。 f ( n ) = f ( n

luotuomianyang的博客 1458

华为OD机试真题 Python 实现【超级玛丽过吊桥】【2023 Q2 | 100分】

超级玛丽好不容易来到新的一关,有一个长长的吊桥,吊桥的尽头是下水管道,其中随机的木板存在缺失,旦踩到就会死亡,死亡后如果还有剩余的生命将在原地复活且不受木板缺失影响,但会消耗一次生命,如果跨过了管道,将跌入悬崖,通关失败。

MISAYAONE的博客 3969

Rust Reqwest+Rustls 自签名证书校验

所以这里必须保证reqwest引用的rustls库和本地工程一致。以上就是实现不校验签名的逻辑,后续自己可以在对应回调进行逻辑判断。

bawomingtian123的专栏 1353

蓝桥:超级玛丽

超级玛丽 问题描述   ⼤家都知道”超级玛丽”是⼀个很善于跳跃的探险家,他的拿⼿好戏是跳跃,但它⼀次只能向前跳 ⼀步或两步。 有⼀次,他要经过⼀条⻓为n的⽺肠⼩道,⼩道中有m个陷阱,这些陷阱都位于整数位 置,分别是a1,a2,….am, 陷⼊其中则必死⽆疑。显然,如果有两个挨着的陷阱,则玛丽是⽆论如何也 跳过不去的。   现在给出⼩道的⻓度n,陷阱的个数及位置。求出玛丽从位置1开始,...

~ 625

用友BIP培训资料-设计采购订单新增API接口开发

14.在子实体的String pkMeas = order_hhrSlave0VOJson.getString("pk_meas");Openapi路径:nccloud/api/pu/order_hhrmanage/order_hhrMaster/addAggOrder_hhrMasterVO。实现接口的开发部署,通过openAPI的test类,实现一条数据的插入。16.进入自己的Idea打开老师发的TestOpenApi并且编译完成后如下。12.编写检测是否字段中是否含有中文的方法。

m0_68497879的博客 1544

蓝桥杯 ADV-165.超级玛丽(动态规划、递推,与爬楼梯相似)

ADV-165.超级玛丽(动态规划、递推,与爬楼梯相似) 【问题描述】 大家都知道”超级玛丽”是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步。有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2.…am,陷入其中则必死无疑。显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的。 现在给出小道的长度n,陷阱的个数及位置。求出玛丽从位置1开始,有多少种跳跃方法能到达胜利的彼岸(到达位置n)。 【输入格式】 第一行为两个整数n,m第二行为

qq_45489541的博客 369

华为OD机试真题 新系统 2026-08-16 Python&JS【智能家居模式调度优化】

智能家居系统中有多个自动化联动模式,每个模式 modes[i]=[start_time,end_time,power],表示它在左闭右开区间 [start_time,end_time) 内持续消耗固定功率 power。

MISAYAONE的博客 85

【华为OD机试真题】141、租车骑绿岛 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。 给出部门每个人的体重,请问最多需要租用多少双人自行车。

KJ.JK 1959

[蓝桥杯][算法提高][vip] 超级玛丽

蓝桥杯 ADV-165 算法提高 超级玛丽 问题描述   大家都知道"超级玛丽"是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步。有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2,…am,陷入其中则必死无疑。显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的。   现在给出小道的长度n,陷阱的个数及位置。求出玛丽从位置...

cp0328的博客 3472

PMP–一、二、三模–分类–13.干系人管理

A:确认是否已制定沟通管理计划,使业务干系人认识到项目的成功之处。B:让业务干系人参加冲刺回顾会议。C:与发起人和关键干系人一起确定产品待办事项列表中的优先要务,以便交付商业利益。D:为关键干系人开展收尾调研。C。

stqer的博客 1418

蓝桥杯 ADV-165算法提高 超级玛丽(动态规划、递推)

问题描述   大家都知道”超级玛丽”是一个很善于跳跃的探险家,他的拿手好戏是跳跃,但它一次只能向前跳一步或两步。有一次,他要经过一条长为n的羊肠小道,小道中有m个陷阱,这些陷阱都位于整数位置,分别是a1,a2,….am,陷入其中则必死无疑。显然,如果有两个挨着的陷阱,则玛丽是无论如何也跳过不去的。   现在给出小道的长度n,陷阱的个数及位置。求出玛丽从位置1开始,有多少种跳跃方法能到达胜利的彼

柳婼 の blog 1920

PyTorch生成式人工智能——VQ-VAE详解与实现

VQ-VAE (Vector Quantised-Variational AutoEncoder) 的核心思想就是将 VAE 的连续潜变量离散化。它通过学习一个码本 (Codebook) 来实现这一点,码本是一个包含有限个嵌入向量的字典。模型不是直接输出一个连续的潜在向量,而是从码本中找出与编码器输出最接近的嵌入向量来代替它。本节首先详细讲解 VQ-VAE 的技术原理,然后使用 PyTorch 从零开始实现 VQ-VAE 模型。

盼小辉丶的博客 3297

Windows 11 安装 JDK 25:下载、安装、配置环境变量、验证

本文详细介绍了在 Windows 11 系统上安装 JDK 25 的完整流程,包括从 Oracle 官网下载压缩包、解压至自定义目录、配置 JAVA_HOME 与 Path 环境变量,并验证安装是否成功。文章推荐使用 ZIP 压缩包而非 EXE 安装程序,以实现绿色便携、多版本共存和灵活管理。最后通过一个使用 Java 25 新特性的示例程序,验证 JDK 的编译与运行环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 7662

设置超链接传递参赛_传递向上的力量,梅溪新春青年文化季热力来袭

原标题:传递向上的力量,梅溪新春青年文化季热力来袭2020年12月31日晚,由长沙金茂览秀城联合FM975摩登音乐台举办的“2021爱你如一 焕新出发”——梅溪新春青年文化季在一片热烈气氛中开幕。本次活动旨在用年轻人的语言,融入潮流元素,向年轻人传达“焕新出发,UP新生”的力量和信心理念,引领当下年轻人的生活方式。据了解,梅溪新春青年文化季以焕新狂欢“大爬梯”拉开帷幕。当天活动现场分为两大板块:“...

weixin_29524677的博客 85

S/4HANA 迁移前的必修课:用 SCMON 找出沉睡的自定义代码

SAP S/4HANA迁移项目中,SCMON工具能有效解决历史代码评估难题。通过监控ABAP对象调用情况,SCMON可识别40-60%处于"沉睡"状态的自定义代码。配置时需注意监控周期(建议3-6个月)和数据保留期(建议1年),并配合Time Slices功能进行时段分析。工具导出的调用数据可与测试覆盖率对比,帮助决策代码迁移优先级。实际应用中需结合业务场景,建议与SUSG工具配合使用,并保持持续监控。SCMON虽不能完全替代人工判断,但其提供的客观数据能显著提升迁移决策的科学性,建议在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 291

让你沉迷的游戏,到底是用什么方法粘住你的?

据Statista统计,2018年第一季度,Google Play Store每天平均发布6140个应用。然而,77%的用户在安装应用程序72小时后再也没有使用过它。是什么让一些应用程序比其他应用程序更能吸引用户呢?这背后的原因其实并不复杂,一起来看看。游戏化和Tinder背后的心理学 △令人愉悦的消除效果 游戏化是将游戏中有趣的和令人成瘾的元素提炼出来,并运用于现实世界或生产活动的过程。...

悟空大师的博客 540

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

笔试算法学习---超级楼梯(递推)

先看一个题目: 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。 输入 输入数据首先包含一个整数n(1 样例输入 2 2 3 输出 对于每个测试实例,请输出不同走法的数量。

Mister5ive的专栏 2243

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

超级楼梯(递推解题)

题目描述有一个楼梯共 M 级台阶,刚开始时你在第 1 级,若每次只能跨上 1 级或 2 级,要走上第 M 级, 共有多少种走法?输入输出格式首先包含一个整数 N,表示测试实例的个数,然后是 N 行数据,每行包含一个整数 M (1≤M≤40),表示楼梯的级数。对于每个测试实例,请输出不同走法的数量。

m0_59884853的博客 1827

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: Excel地址(递归解法)
下一篇: 兔子的繁殖 【递归算法 数据规模N大于等于1且 N小于等于60】
Fin__
博客等级 码龄7年 1粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值