袁老师题解
2024-02-03 15:55:04
发布于:广东
46阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
long long c[1001][1001];
//二维数组要在全局定义,不然最多支持 int [720][720] long long[509][509]
int main()
{
for(int i=1; i<=1000; i++)
{
c[i][i] = 1; //初始化绿色对角线的数
c[i][1] = i; //初始化浅蓝1号列的数
}
for(int i=3; i<=1000; i++) //从第3行开始计算(前两行已经初始化了)
{
for(int j=2; j<i; j++) // 从第2列开始计算,到对角线前停止
{
c[i][j] = c[i-1][j-1] + c[i-1][j]; //组合数的递推公式
c[i][j] %= 1000000007;
}
}
int n,m;
cin >> n >> m;
cout << c[n][m];
return 0;
}
这里空空如也
有帮助,赞一个