#P16158. [ICPC 2016 NAIPC] Mountain Scenes

[ICPC 2016 NAIPC] Mountain Scenes

题目描述

一位艺术家从一卷宽为 1 英寸的丝带开始。她将丝带剪成若干段,每段的长度都是整数英寸,然后将这些丝带段对齐相框的底部,垂直地排列在各列中,从而形成一幅山景图。山景图必须是高低不平的;如果所有列的高度都相同,那就是一幅平原图,而不是山景图!艺术家可能不会使用整卷丝带。

:::align{center} :::

如果艺术家有 4 英寸长的丝带和一个 2×22 \times 2 英寸的相框,她可以创作出以下山景图:

:::align{center} :::

她不会创作出以下这些图,因为它们不是山景图,而是平原图:

:::align{center} :::

给定丝带的长度、相框的宽度和高度(单位均为英寸),请问艺术家可以创作出多少种不同的山景图?如果两个场景中丝带覆盖的区域不同,则视为不同的场景。注意,任何一列中放置的丝带段不能超过一段。

输入格式

每个输入包含单个测试用例。请注意,你的程序可能会在不同输入上多次运行。输入只有一行,包含三个空格分隔的整数 nnwwhh,其中 nn0n10,0000 \leq n \leq 10{,}000)是丝带的长度(英寸),ww1w1001 \leq w \leq 100)是相框的宽度,hh1h1001 \leq h \leq 100)是相框的高度(单位均为英寸)。

输出格式

输出一个整数,表示艺术家可能创作出的山景图的总数,对 109+710^9 + 7 取模。

25 5 5
7770
15 5 5
6050
10 10 1
1022
4 2 2
6

提示

翻译由 DeepSeek V3.2 完成