题解 | 二维斐波那契数列

二维斐波那契数列

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

题干解读:给出了二维斐波那契数列的定义,简单来说就是第一行与第一列的值均为1,其余每个数的值都=其左相邻列数+上相邻行的数。

解题思路:先将a[0][0]到a[0][m-1]和a[0][0]到a[n-1][0]的值求出,便于后续计算.

再由题中所给规则,利用双重循环来求a[i][j]的值即可.

#include <iostream>
using namespace std;

int main() {
    int n,m;
    cin>>n>>m;
    long  long a[n][m];
    a[0][0]=1;
    for(int i=1;i<n;i++){
        a[i][0] = a[i-1][0];
    }
    for(int j=1;j<m;j++){
        a[0][j] = a[0][j-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])%1000000007;
        }
    }
    cout<<a[n-1][m-1];
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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