题解
用到一个递推式:
$$C_{a}^{b}=C_{a-1}^{b-1}+C_{a-1}^{b} $$
代码
#include<iostream>
using namespace std;
#include<algorithm>
typedef long long intt;
const intt mod=1e9+7;
const intt N=2005;
intt c[N][N];//c[i][j]表示C_{i}^{j}
void preprocess(){
c[0][0]=1;
for(int i=1;i<=2000;i++){
for(int j=0;j<=i;j++){
if(!j) c[i][j]=1;
else c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
}
}
}
int main(void){
intt n,a,b;
cin>>n;
preprocess();
for(intt i=0;i<n;i++){
cin>>a>>b;
cout<<c[a][b]<<endl;
}
}