题目描述
点击进入题目
给定n组询问,每组询问给定两个整数a,b,请你输出Cba mod (109+7)的值。
思路
- 已知暴力太慢,会超时,所以用数学解法
- 组合里有一个公式叫C(i,j)=C(i-1,j)+C(i-1,j-1)
代码
#include <iostream>
using namespace std;
const int N=2010,mod=1e9+7;
int n;
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()
{
init();
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
cout<<c[a][b]<< endl;
}
}