首页 > 试题广场 >

跳台阶

[编程题]跳台阶
  • 热度指数:312 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}小红一次可以跳上 1 级台阶,也可以跳上 2 级台阶。
\hspace{15pt}现在,小红位于第一级台阶,她想要跳到第 n 级台阶,请问她有多少种不同的跳法?由于答案可能很大,请将答案对 998\,244\,353 取模后输出。

输入描述:
\hspace{15pt}第一行输入一个整数 n\left( 2\leqq n \leqq 2 \times 10^5\right),表示台阶的数量。


输出描述:
\hspace{15pt}输出一个整数,代表答案对 998\,244\,353 取模后的值。
示例1

输入

3

输出

2

备注:
本题已于下方时间节点更新,请注意题解时效性:
1. 2025-12-10 优化题面文本与格式。
n = int(input())

a = [[1 for _ in range(n)],[0 for _ in range(n)] ]
tmp = [1,2]
for i in range(2,n):
    a[0][i]=(a[0][i-1]+a[1][i-1])%998244353
    a[1][i]=(a[0][i-2]+a[1][i-2])%998244353
    tmp.append((a[0][i]+a[1][i])%998244353)

print(tmp[n-1])

发表于 2025-12-16 12:42:27 回复(0)