题解 | 走方格的方案数

from re import L
import sys

for line in sys.stdin:
    a = line.split()
    
    h = int(a[0])+1
    l = int(a[1])+1

    # print(h)
    # print(l)

    # 经典DP问题
    # 这种方式会导致所有子列表共享同一个内存地址
    # dp =[[0]*(h+1)]*(l+1)
    # 老实用dp = [[0] * (h + 1) for _ in range(l + 1)]
	# 注意行列数目初始化
    dp = [[0] * (l) for _ in range(h)]


    for i in range(h):
        for j in range(l):
                # 边界初始条件
                if i == 0 or j == 0:
                    dp[i][j] = 1
                #当前的状态为 右和上的状态之和
                else:
                    dp[i][j]=dp[i-1][j]+dp[i][j-1]

    #输出最后的结点
    print(dp[h-1][l-1])


全部评论

相关推荐

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

创作者周榜

更多
正在热议
更多
牛客网
牛客企业服务