(洛谷1192)台阶问题

来源:互联网 发布:网络海鲜吃播 编辑:程序博客网 时间:2024/05/20 07:14

有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。

分析:求方案数,用递推,(记住取余)

#include <cstdio>
using namespace std;
int f[100001],n,k;
int main(){
    scanf("%d%d",&n,&k); f[0]=1;
    for (int i=1;i<=n;i++)
    for (int j=1;(j<=k)&&(i-j>=0);j++)
    f[i]+=f[i-j],f[i]%=100003;
    printf("%d",f[n]);
}