当前位置: 首页 > news >正文

完全背包(排列问题)——爬楼梯

57. 爬楼梯(第八期模拟笔试)

题目描述

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 

每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢? 

注意:给定 n 是一个正整数。

输入描述

输入共一行,包含两个正整数,分别表示n, m

输出描述

输出一个整数,表示爬到楼顶的方法数。

输入示例
3 2
输出示例
3
提示信息

数据范围:
1 <= m < n <= 32;

当 m = 2,n = 3 时,n = 3 这表示一共有三个台阶,m = 2 代表你每次可以爬一个台阶或者两个台阶。

此时你有三种方法可以爬到楼顶。

  1. 1 阶 + 1 阶 + 1 阶段
  2. 1 阶 + 2 阶
  3. 2 阶 + 1 阶

python题解(ACM模式)

def climb(n, m):
    dp = [0] * (n + 1)
    dp[0] = 1
    for j in range(1, n + 1):
        for i in range(1, m + 1):
            if j >= i:
                dp[j] += dp[j - i]
    return dp[n]


n, m = map(int, input().split())
max_approach = climb(n, m)
print(max_approach)

相关文章:

  • 模拟退火算法(Simulated Annealing):从物理学到优化的经典方法
  • leetcode刷题--超详解
  • 力扣203题:移除链表元素及代码实现分析
  • PAT线上考试注意细节(甲/乙级)
  • JDBC连接池技术详解
  • Linux网络基础
  • 【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解+代码解析]
  • 在人工智能软件的帮助下学习编程实例
  • 力扣 Hot 100 刷题记录 - 随机链表的复制
  • 力扣hot100——多维动态规划
  • 线性代数笔记28--奇异值分解(SVD)
  • 揭开AI-OPS 的神秘面纱 第四讲 AI 模型服务层(自研方向)
  • QT快速入门-信号与槽
  • 34.二叉树进阶3(平衡二叉搜索树 - AVL树及其旋转操作图解)
  • Flask框架中局部刷新页面
  • 北斗短报文+5G:遨游通信终端开启全域智能物联新时代
  • RAG技术的PDF智能问答系统
  • Effective Python:(18)作用域问题
  • 番外篇 - Docker的使用
  • VSCode 配置优化指南
  • 珠海网站建设找哪家/谷歌搜索排名规则
  • 温州网站制作优化/百度seo排名在线点击器
  • 个人网站备案建设方案书/品牌公关具体要做些什么
  • 做个网站多少钱合适/沙坪坝区优化关键词软件
  • css代码大全/seo排名赚app最新版本
  • 企业自助建站系统下载/手机端竞价恶意点击能防止吗