Codeforces 431C

来源:互联网 发布:爱奇艺网络机顶盒 编辑:程序博客网 时间:2024/06/05 18:36
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>const int mod = 1e9 + 7;using namespace std;long long dp[110];int n, k, d;void DP(long long k) {    dp[0] = 1;    for (int i = 1; i <= n; ++ i)    {        dp[i] = 0;        if (i <= k)         dp[i] = (dp[i] + 1) % mod;        for (int j = 1; j < i; ++ j)         if (j <= k)         {            dp[i] = (dp[i] + dp[i-j]) % mod;        }    }}int main() {    while (~scanf("%d%d%d",&n, &k, &d))     {       DP(k);        long long res = dp[n];              DP(d-1);        res -= dp[n];       while (res < 0) res += mod;       res %= mod;       printf("%I64d\n",res);    }}

0 0
原创粉丝点击