帮帮我 问题出在哪(RE)

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;
}

1 个赞

what

3 个赞

@许纾瑞 @许纾瑞

1 个赞

what

数组开小了,要到1000,循环从4开始啊

OK我试一试

1 个赞

cout<<a[n]%998244353<<endl;

1 个赞

改RE

改cout<<a[n]%998244353<<endl;

1 个赞

在里面%没问题阿爸


long long a[1001],n;

1 个赞

a[3]=4吧
1,1,1
1,2
2,1
3

我说了

@许纾瑞 可以了么

1.a[3] = 4;有四种方案 1 1 1 1 2 2 1 3
2.int i=1000;i<=n;i++ i = 4

1 个赞

OK了

1 个赞

求给解决方案

是人我吃

2 个赞

再帮帮我啊

1 个赞

i = 1000?
是人我吃

1 个赞

AC了么