文章目录
求组合数I


#include<bits/stdc++.h>
using namespace std;
const int N=2010,mod=1e9+7;
int c[N][N];
void init(){
for(int i=0;i<N;i++){
for(int j=0;j<=i;j++){
if(!j) c[i][j]=1;
else c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
}
}
}
int main(){
int n;
init();
cin>>n;
while(n--){
int a,b;
cin>>a>>b;
cout<<c[a][b]<<endl;
}
return 0;
}
该程序使用C++编写,初始化组合数矩阵c[][],并利用动态规划计算组合数。输入一个n值,程序会输出对应a和b的组合数c[a][b],所有计算都在模1e9+7的环境下进行。

2272

被折叠的 条评论
为什么被折叠?



