B4564 [山东省小学组体验营 2026] 小兔子爬楼梯

题目描述

森林学校里有一座 $n$ 级的台阶,小兔子要跳上去。 它每一次跳跃,可以选择跳 $1$ 级、$2$ 级、……、$m$ 级(每次跳的级数必须是整数,且在 $1$ 到 $m$ 之间)。 小兔子体力无限,他想尝试各种跳跃方案(跳完 $n$ 级台阶的跳跃序列)。 但是,小兔子的老师说:“每一种跳跃方案中,至少要有一次跳的级数不少于 $k$($k\le m$)级(称为‘逆天一跳’),才算一种合格的跳跃方案”。 比如:$n=7$,$m=5$,$k=3$,在以下跳跃方案中: 跳跃序列:$1,2,2,2$ 不是合格的跳跃方案; 跳跃序列:$1,3,3$ 是合格的跳跃方案; 跳跃序列:$1,4,2$ 与 $1,5,1$ 都是合格的跳跃方案。 现在,小兔子想知道:**一共有多少种不同的合格的跳跃方案**,能恰好跳完 $n$ 级台阶。 注意:跳跃序列顺序不同算不同的跳跃方案。比如 $1,1,5$ 与 $1,5,1$ 是两种不同的跳跃方案。 因为合格的跳跃方案可能太多了,答案要对 $10^9+7$ 取模。

输入格式

一行三个整数:$n,m,k$。

输出格式

输出一个整数,表示符合条件的合格跳跃方案总数(对 $10^9+7$ 取模)。

说明/提示

### 【样例 $1$ 说明】 合格的跳跃方案有 $3$ 种:$2,1$;$1,2$;$3$。 ### 【数据范围】 所有数据满足:$1\le n\le 100000$,$1\le m\le 100$,$1\le k\le m$。 | 测试点编号 | $m$ | $k$ | 特殊性质 | |:-:|:-:|:-:|:-:| | $1\sim 3$ | $=2$ | $=1$ | 无 | | $4\sim 9$ | $\le 100$ | $=1$ | 无 | | $10\sim 20$ | $\le 100$ | $\le m$ | 无 |