1 条题解

  • 0
    @ 2025-2-14 19:57:29

    Python :

    # coding=utf-8
    def count_paths(m, n):
        # 创建一个二维数组 dp,初始化为0
        dp = [[0] * (n + 1) for _ in range(m + 1)]
        
        # 初始状态:从 (1,1) 开始
        dp[1][1] = 1
        
        # 填充第一列
        for i in range(2, m + 1):
            dp[i][1] = dp[i-1][1]
        
        # 填充第一行
        for j in range(2, n + 1):
            dp[1][j] = dp[1][j-1]
        
        # 填充其他位置
        for i in range(2, m + 1):
            for j in range(2, n + 1):
                dp[i][j] = dp[i-1][j] + dp[i][j-1]
        
        # 返回结果,即从 (m,n) 到 (1,1) 的路径数
        return dp[m][n]
    
    # 输入处理
    m, n = map(int, input().split())
    
    # 输出结果
    print(count_paths(m, n))
    
    • 1

    信息

    ID
    195
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者