````cpp
#include <bits/stdc++.h>
using namespace std;
int n,k,a[100010]={0},sum;
const int mod=100003;
int main(){
cin>>n>>k;
if(k==1){
cout<<1;
return 0;
}
a[1]=1;
a[2]=2;
sum=3;
for(int i=3;i<=k;i++){
a[i]=(sum+1)%mod;
sum+=a[i];
sum%=mod;
}
for(int i=k+1;i<=n;i++){
for(int j=i-1;j>=i-k;j--)
a[i]+=a[j];
a[i]%=mod;
}
cout<<a[n]%mod;
return 0;
}
``````
by gaojizhe05 @ 2023-11-18 21:03:15
初始化不对
```cpp
#include <bits/stdc++.h>
using namespace std;
long long int n,m,dp[100005]={0};
int main()
{
dp[0]=1;
dp[1]=1;
cin>>n>>m;
for(int i=2;i<=m;i++)
for(int j=0;j<i;j++)
{
dp[i]+=dp[j];
dp[i]%=100003;
}
for(int i=m+1;i<=n;i++){
for(int j=1;j<=m;j++){
dp[i]+=dp[i-j];
dp[i]%=100003;
}
}
cout<<dp[n]%100003;
return 0;
}
```
by Li_wenjie @ 2023-11-18 21:11:31