CF478D Red-Green Towers
题目描述
你有 $r$ 块红色的积木和 $g$ 块绿色的积木,它们用于建造红绿塔。红绿塔按照下面的规则来建造:
- 红绿塔有若干层;
- 如果红绿塔有 $n$ 层,那么塔的第一层应该有 $n$ 块积木,第二层有 $n-1$ 块,第三层有 $n-2$ 块,以此类推,最后一层只有一块。换言之,每一层应该比前面一层少一块;
- 红绿塔的每一层必须使用相同颜色的积木。
令 $h$ 表示用 $r$ 个红积木和 $g$ 个绿积木所能搭建的满足上述规则的塔的最大层数。现在你的任务是确定可以建造出多少不同的有 $h$ 层的红绿塔。
如果两个红绿塔相同的一层使用的是不同的颜色,它们就被认为不同的。
你需要写一个程序来求出有多少种高度为 $h$ 的不同的红绿塔。由于答案很大,你只需要输出答案模 $10^9+7$(也就是$1000000007$)后的值。
输入格式
无
输出格式
无
说明/提示
The image in the problem statement shows all possible red-green towers for the first sample.