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

走方格的方案数

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

while True:
    try:
        n,m=map(int,input().split())
        c=[[1 for i in range(m+1)] for j in range(n+1)] #初始化边界全为1
        for i in range(1,n+1):
            for j in range(1,m+1):
                 #大家会奇怪为啥第三个c[i][j-1]的是j-1,根据动态规划法C[I][J]=C[I-1][J]+C[I][J+1]才对啊
                 #这是因为两层for的原因,都是从1 起步。所以就相当于从右上角到左下角的向下走法,两种走法的结果一致
                c[i][j]=c[i-1][j]+c[i][j-1]  
        print(c[n][m])
    except:
        break
全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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