题解 | #走方格的方案数#

走方格的方案数

https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b

从左上角往右下角看也可以,从右下角往左上角看也可以,下面例子是从右下角到左上角。
1、右下角是终点,终点本身到自己有0种走法
2、终点左面挨着的点到终点有一种走法,上面的点也是
3、终点斜对角的点到终点有两种走法,因为这个点到终点左面和上面的点都只有唯一一种走法,而这两个点到终点也只有唯一一种走法,所以1+1=2
4、这样往上类推,发现每个点到终点的走法是它下一步可以到的两个点到终点走法的和


def val(i,j,m,n):
    if ((i,j)==(m,n)) or (i>m or j>n):
        return 0
    elif (i,j)==(m-1,n) or (i,j)==(m,n-1):
        return 1
    else:
        return val(i+1,j,m,n)+val(i,j+1,m,n)

m,n = [int(i) for i in input().split()]
print(val(0,0,m,n))

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务