题解 | 二维斐波那契数列
二维斐波那契数列
https://www.nowcoder.com/practice/a1951ca9431646ff8f9bc6f6d24d1e0a?tpId=383&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AF%2587%26topicId%3D383
#include <iostream>
#include <cmath>
using namespace std;
// int function(int n, int m)
// {
// int sum = 0;
// if(m == 1)
// {
// if(n == 1)
// {
// sum = 1;
// }else
// {
// sum = function(n-1, m);
// }
// }else {
// if(n == 1)
// {
// sum = function(n,m-1);
// }
// else {
// sum = function(n-1,m)+function(n,m-1);
// }
// }
// return sum;
// }
int main() {
int a, b;
int max_size = 1001;
int MOD = 1e9 + 7;
long long dp[max_size][max_size];
cin >> a >> b;
//sum = fmod(function(a,b),pow(10,9)+7);
for(int i = 1; i <= b; i = i+1)
{
dp[1][i] = 1;
}
for(int i = 1; i <= a; i = i+1)
{
dp[i][1] = 1;
}
for(int i = 2; i<= a; i = i+1)
{
for(int j = 2; j <= b; j = j+1)
{
dp[i][j] = (dp[i-1][j] + dp[i][j-1])%MOD;
}
}
cout << dp[a][b] << endl;
return 0;
}
// 64 位输出请用 printf("%lld")