AT_maximum_cup_2018_f 献立表制作
题目描述
埼大君是 Maximum 小学的职员,负责制定学校的午餐菜单。
现在到了需要制作菜单表的时候了,于是埼大君开始思考菜单的安排。
菜单的平衡很重要。如果总是日餐或者总是西餐,学生们会感到厌倦。
因此,首先要决定当天提供的菜单类型。菜单分为以下 $7$ 种:
- 日餐菜单
- 西餐菜单
- 中餐菜单
- 日西混合菜单
- 日中混合菜单
- 西中混合菜单
- 日西中混合菜单
本次需要考虑的是,满足以下条件的 $N$ 天午餐菜单的总数:
“对于任意连续的 $K$ 天,包含同一类型的菜单的天数不超过 $L$ 天。”
这里,如果当天提供的是混合菜单或日西中混合菜单,则视为当天包含了其中所有涉及的类型。
例如,如果当天提供日西混合菜单,则视为当天既有日餐也有西餐。
具体请参见下表。
看到这里,作为组合大师的你突然想到:
“这样的菜单安排一共有多少种可能呢……???”
请计算满足上述条件的菜单安排总数。
由于答案可能非常大,请输出对 $1000000007$ 取模后的结果。
## 关于条件的说明
以 $N = 5, K = 5, L = 3$ 为例。
在例 1 中,所有类型(日餐、西餐、中餐)在连续 $5$ 天中都没有超过 $3$ 天,因此满足条件。
而在例 2 中,西餐在连续 $5$ 天中出现了 $4$ 天,因此不满足条件。
| | 第 1 天 | 第 2 天 | 第 3 天 | 第 4 天 | 第 5 天 |
|----|---------|----------------|----------------|----------------|----------------|
| 例1 | 日餐菜单 | 日中混合菜单 | 中餐菜单 | 西餐菜单 | 中餐菜单 |
| 例2 | 西餐菜单 | 日西混合菜单 | 西中混合菜单 | 日餐菜单 | 日西中混合菜单 |
输入格式
输入为一行,格式如下:
> $N$ $K$ $L$
输出格式
请输出满足条件的菜单安排总数,对 $1000000007$ 取模。
说明/提示
## 限制
- $K \leq N \leq 365$
- $2 \leq K \leq 5$
- $1 \leq L \leq K$
菜单可能无法安排出满足条件的方案。
由 ChatGPT 4.1 翻译