3. 爬楼梯
题目ID:9243必做题100分
时间限制: 1000ms
空间限制: 524288kB
题目描述
一段楼梯有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
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[8],n;
int main(){
cin>>n;
a[1]=1;
a[2]=2;
a[3]=3;
for(int i=1000;i<=n;i++){
a[i]=(a[i-1]+a[i-2]+a[i-3])%998244353;
}
cout<<a[n];
return 0;
}