题解 | 走方格的方案数
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])