您的位置:首页 > 其它

BZOJ系列3907《网格》题解

2015-03-31 13:53 197 查看

Description

某城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m),其中n >= m。现在从A(0, 0)点出发,只能沿着街道向正右方或者正上方行走,且不能经过图示中直线左上方的点,即任何途径的点(x, y)都要满足x >= y,请问在这些前提下,到达B(n, m)有多少种走法。



Input

输入文件中仅有一行,包含两个整数n和m,表示城市街区的规模。

Output

输出文件中仅有一个整数和一个换行/回车符,表示不同的方案总数。

Sample Input

6 6

Sample Output

132

HINT

100%的数据中,1 <= m <= n <= 5 000

分析:

其实就是卡特兰数的变形。

需要高精度,不想写,用python,粘个hzwer大神的代码,自己写基本上也就是那个样子。

代码如下:

fac={};
def C(n,m):
return fac
/fac[m]/fac[n-m];
fac[0]=1;
for i in range(1,10000):
fac[i]=fac[i-1]*i;
f=raw_input().split(" ");
n=int(f[0]);m=int(f[1]);
print(C(n+m,n)-C(n+m,n+1));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: