题解 | 二维斐波那契数列

二维斐波那契数列

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

#include <stdio.h>

int main() {
    int n, m;
    scanf("%d%d", &n, &m);
    int MOD = 1000000007; // 不使用#define,直接定义常量
    long long a[1005][1005];    // 题目范围 1e3,足够容纳
    
    // 初始化第一行
    for (int j = 0; j < m; j++) {
        a[0][j] = 1;
    }
    // 初始化第一列
    for (int i = 0; i < n; i++) {
        a[i][0] = 1;
    }
    
    // 递推计算,每次加法后取模
    for (int i = 1; i < n; i++) {
        for (int j = 1; j < m; j++) {
            a[i][j] = (a[i-1][j] + a[i][j-1]) % MOD;
        }
    }
    
    printf("%lld\n", a[n-1][m-1]);
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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