题解 | #走方格的方案数#
走方格的方案数
http://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b
'''
因为只能向下和向右
所以当向下与向右均能实现时,每次都会变成f(m-1, n)+f(m, n-1)的问题
直到变成只有1种走法(行或者列只有一行时)
![](https://uploadfiles.nowcoder.com/images/20220409/119231184_1649490723863/E3BB8E35110E7DDCBCEF15B834CE3CDA)
'''
m, n = list(map(int, input().split( )))
def fas(m, n):
if m<0 or n<0:
return 0
elif m==0 or n==0:
return 1
else:
return fas(m-1, n) + fas(m, n-1)
print(fas(m, n))
因为只能向下和向右
所以当向下与向右均能实现时,每次都会变成f(m-1, n)+f(m, n-1)的问题
直到变成只有1种走法(行或者列只有一行时)
即f(0,x) 或者 f(x,0)
在向下或者向右会出现-1,此时停止迭代
借鉴大佬图片:
m, n = list(map(int, input().split( )))
def fas(m, n):
if m<0 or n<0:
return 0
elif m==0 or n==0:
return 1
else:
return fas(m-1, n) + fas(m, n-1)
print(fas(m, n))
【牛客站内】华为机试题—简单 文章被收录于专栏
【牛客站内】华为机试题练习记录