某
城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m),其中n >= m。现在从A(0,
0)点出发,只能沿着街道向正右方或者正上方行走,且不能经过图示中直线左上方的点,即任何途径的点(x, y)都要满足x >=
y,请问在这些前提下,到达B(n, m)有多少种走法。
标签:
输入文件中仅有一行,包含两个整数n和m,表示城市街区的规模。
输出文件中仅有一个整数和一个换行/回车符,表示不同的方案总数。
def C(n,m): return fact[n]/fact[m]/fact[n-m]; f=raw_input().split(" "); n=int(f[0]); m=int(f[1]); tot=max(n,m)*2; fact=[1]; for i in range(1,tot+1): fact.append(fact[-1]*i); c=n-m; ans=C(tot-c,tot/2)-C(tot-c,tot/2+1); print ans;
标签:
原文地址:http://www.cnblogs.com/mhy12345/p/4343980.html