首页 > 试题广场 >

双色塔

[编程题]双色塔
  • 热度指数:1626 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
现在有红,绿两种颜色的石头,现在我们需要用这两种石头搭建一个塔,塔需要满足如下三个条件: 
1. 第 层应该包含1块石头,第2层应该包含两块,第 i 层需要包含 i 块石头。
2. 同一层的石头应该是同一个颜色(红或绿)。
3. 塔的层数尽可能多。 问在满足上面三个条件的前提下,有多少种不同的建造塔的方案,当塔中任意一个对应位置的石头颜色不同,我们就认为这两个方案不相同。石头可以不用完。

数据范围:红绿颜色石头数量满足 ,  

输入描述:
输入仅包含两个正整数,分别表示红和绿砖块的数量a,b。


输出描述:
输出和仅包含一个正整数,表示不同的方案数对1000000007取模的结果。
示例1

输入

4 6

输出

2

说明

从底到顶颜色可以是 红、绿、红、绿  或 绿、绿、绿、红