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

递推经典例题 - 爬楼梯

一、题目阅读

题目描述

一段楼梯有n级台阶。你每次可以跨一个、两个或者三个台阶。
请问走上n级台阶有几种方案?答案对998244353取模。

输入格式

一行一个数n。

输出格式

一行一个数,表示方案数。

样例

Input 1

3

Output 1

4

样例解释

1 + 1 + 1 = 3
1 + 2 = 3
2 + 1 = 3
3 = 3

数据范围

n≤1000n≤1000

二、核心思路

走到第i级楼梯,可以从第i-1级楼梯、第i-2级楼梯、i-3级楼梯走来。

得出公式:

dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]

三、题解

#include <bits/stdc++.h>
using namespace std;

int n, a[1005] = {0, 1, 2, 4};

int main() {
	cin >> n;
	for (int i = 4; i <= n; i++)
		a[i] = ((a[i - 1] + a[i - 2]) % 998244353 + a[i - 3]) % 998244353;
	cout << a[n] << endl;
	return 0;
}

题目来自xinyoudui.com。


http://www.kler.cn/a/387022.html

相关文章:

  • 【AI日记】24.11.14 复习和准备 RAG 项目 | JavaScript RAG Web Apps with LlamaIndex
  • 自由学习记录(21)
  • 阿里云通义大模型团队开源Qwen2.5-Coder:AI编程新纪元
  • 陪诊问诊APP开发实战:基于互联网医院系统源码的搭建详解
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(一)
  • GxtWaitCursor:Qt下基于RAII的鼠标等待光标类
  • 微服务系列五:避免雪崩问题的限流、隔离、熔断措施
  • mybatis+postgresql,无感读写json字段
  • Docker 中部署 SQL Server
  • OSPF(Open Shortest Path First,开放式最短路径优先)动态路由介绍
  • 分析Element Plus UI 中 mt-x 类的基本知识
  • Axure设计之三级联动选择器教程(中继器)
  • [网络架构设计师论文] ‌论企业云数据中心安全防范技术
  • 【linux】再谈网络基础(二)
  • 使用EasyExcel实现excel导入
  • 31.7K+ Star!AgentGPT:一个在浏览器中运行的Agent
  • 全排列(DFS)
  • 【MIT-OS6.S081笔记1】Chapter1阅读摘要:Operating system interfaces
  • Spring Boot的过滤器与拦截器的区别
  • 【C++ 滑动窗口】2134. 最少交换次数来组合所有的 1 II
  • Anaconda安装和环境配置教程(2024年11月9日)
  • Kafka 之事务消息
  • GJ Round (2024.10) Round 8~21
  • 鸿蒙多线程开发——Worker多线程
  • 安全见闻(网络安全篇)
  • Python爬虫如何处理验证码与登录