动态规划:

while True:
    try:
        n, m = map(int, input().split())
        dp = [[1] * (n+1)] + [[1] + [0] * n for _ in range(m)]
        for i in range(1, m+1):
            for j in range(1, n+1):
                dp[i][j] = dp[i-1][j] + dp[i][j-1]
        print(dp[m][n])
    except:
        break