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

走方格的方案数

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))

全部评论

相关推荐

昨天 10:31
门头沟学院 Java
求问各位大佬,笔试都考点啥
投递科大讯飞等公司10个岗位
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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