求大佬答疑QwQ
#include<cstdio>
#define ll long long
using namespace std;
const int mod = 1e9+7;
int n,k,d;
ll f[120],g[120];
inline int max(int a,int b){return a>b?a:b;}
inline int min(int a,int b){return a<b?a:b;}
int main(){
scanf("%d%d%d",&n,&k,&d);
// if(d>n)return !printf("0");
g[0] = f[0] = 1;
for(int i=1;i<=n;i++){
for(int j = 1;j<=min(i,k);j++) f[i] = (f[i] + f[i-j])%mod;
for(int j = 1;j<=min(i,d-1);j++) g[i] = (g[i] + g[i-j])%mod;
}
printf("%lld\n",(f[n] - g[n])%mod);
return 0;
}