题目描述
邪教喜欢在各种各样空间内跳。现在,邪教来到了一个二维平面。在这个平面内,如果邪教当前跳到了 (x,y) ,那么他下一步可以选择跳到以下4个点: (x−1,y),(x+1,y),(x,y−1),(x,y+1) 。而每当邪教到达一个点,他需要耗费一些体力,假设到达 (x,y) 需要耗费的体力用 C(x,y) 表示。
对于 C(x,y) ,有以下几个性质:
- 若 x=0 或者 y=0,则 C(x,y)=1 。
- 若 x>0 且 y>0,则 C(x,y)=C(x,y−1)+C(x−1,y) 。
- 若 x<0 且 y<0,则 C(x,y)=∞ 。
现在,邪教想知道从 (0,0) 出发到 (N,M) ,最少花费多少体力(到达 (0,0) 点花费的体力也需要被算入)。
由于答案可能很大,只需要输出答案对 109+7 取模的结果。
输入格式
读入两个整数 N,M ,表示邪教想到达的点。
输出格式
输出仅一个整数,表示邪教需要花费的最小体力对 109+7 取模的结果。
1 2
6
提示
对于 100% 的数据,满足 0≤N,M≤1012 ,N×M≤1012 。
题目来源
没有写明来源