题解 | 二维斐波那契数列

二维斐波那契数列

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

#include <iostream>
#include <vector>
using namespace std;



int main() {
    const int MOD = 1000000007;
    int n, m;
    int sum;
    while (cin >> n >> m) { // 注意 while 处理多个 case
        
        vector<vector<long long>> dp(n + 1, vector<long long>(m + 1, 0));
        //初始化二维数组第一行
        for (int j = 1; j <= m; ++j) {
            dp[1][j] = 1;
        }

        //初始化二维数组第一列
        for (int i = 1; i <= n; ++i) {
            dp[i][1] = 1;
        }

        for (int i = 2; i <= n; ++i) {
            for (int j = 2; j <= m ; ++j) {
                dp[i][j] = (dp[i-1][j] + dp[i][j-1]) % MOD;
            }

        }

        cout << dp[n][m] << endl;

    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

01-26 19:51
门头沟学院 Java
isabener:怎么感觉像群发的呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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