CF431C.k-Tree
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Quite recently a creative student Lesha had a lecture on trees. After the lecture Lesha was inspired and came up with the tree of his own which he called a k -tree.
A k -tree is an infinite rooted tree where:
- each vertex has exactly k children;
- each edge has some weight;
- if we look at the edges that goes from some vertex to its children (exactly k edges), then their weights will equal 1,2,3,...,k .
The picture below shows a part of a 3-tree.
As soon as Dima, a good friend of Lesha, found out about the tree, he immediately wondered: "How many paths of total weight n (the sum of all weights of the edges in the path) are there, starting from the root of a k -tree and also containing at least one edge of weight at least d ?".Help Dima find an answer to his question. As the number of ways can be rather large, print it modulo 1000000007 ( 109+7 ).
输入格式
A single line contains three space-separated integers: n , k and d ( 1<=n,k<=100; 1<=d<=k ).
输出格式
Print a single integer — the answer to the problem modulo 1000000007 ( 109+7 ).
输入输出样例
输入#1
3 3 2
输出#1
3
输入#2
3 3 3
输出#2
1
输入#3
4 3 2
输出#3
6
输入#4
4 5 2
输出#4
7