n,m = map(int,input().split()) dp = [[0] * (m + 1) for i in range(n + 1)] for i in range(n + 1): for j in range(m + 1): if i == 0 and j == 0: dp[0][0] = 1 elif i == 0: dp[0][j] = dp[0][j - 1] elif j == 0: dp[i][0] = dp[i - 1][0] else: dp[i][j] = dp[i - 1][j] + dp[i][j - 1] print(dp[-1][-1])
对于第一行和第一列,都只有一种走法,所以都为1
对于其他格子,可以从上方或者左方走来
所以dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
最后返回dp[-1][-1]即为答案