题解 | 二维斐波那契数列

二维斐波那契数列

https://www.nowcoder.com/practice/a1951ca9431646ff8f9bc6f6d24d1e0a

import sys
# 1. 魔法数字(防止结果太大)
MOD = 1000000007  # 10亿零7

# 2. 读取输入(比如输入"3 4")
n, m = map(int, input().split())

# 3. 创建一个"空白格子本"
dp = [[0] * (m + 1) for _ in range(n + 1)]

# 4. 画第一条横线和竖线
for i in range(1, n + 1):
    dp[i][1] = 1  # 左边第一列全部写1
for j in range(1, m + 1):
    dp[1][j] = 1  # 上面第一行全部写1

# 5. 开始填格子(一行一行填)
for i in range(2, n + 1):        # 从第2行开始
    for j in range(2, m + 1):    # 从第2列开始
        # 当前格子 = 上面格子 + 左边格子
        dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % MOD

# 6. 输出答案(右下角的格子)
print(dp[n][m] % MOD)
       
        






全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务