https://www.luogu.com.cn/problem/P1192
f[i] 表示的是从底部到i号台阶的方案数
显然f[i]=f[i-1]+f[i-2]+....+f[i-k]的方案数之和
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e5+10;
int f[N];
int main(void)
{
int n,k; cin>>n>>k;
f[0]=1;
f[1]=1;
for(int i=2;i<=n;i++)
{
for(int j=1;j<=k;j++)
{
if(i-j>=0) f[i]=(f[i]+f[i-j])%100003;
}
}
cout<<f[n]<<endl;
return 0;
}