求组合数 I
题目描述
给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7)
的值。
输入格式
第一行包含整数 n
。
接下来 n
行,每行包含一组 a 和 b
。
输出格式
共 n
行,每行输出一个询问的解。
数据范围
1≤n≤10000
,
1≤b≤a≤2000
这个题,我们只需要预处理 $ C $ 就行了,但是我们要知道一个公式
代码
#include <bits/stdc++.h>
using namespace std;
int f[2005][2005],n,a,b;
int main(){
for(int i = 0; i <= 2000; i ++){
for(int j = 0; j <= i; j ++){
if(!j) f[i][j] = 1;
else f[i][j] = (f[i - 1][j - 1] + f[i - 1][j]) % 1000000007;
}
}
cin >> n;
while(n --){
cin >> a >> b;
cout << f[a][b] << endl;
}
return 0;
}