#include<cstdio>
const int N = 2010, mod = 1e9 + 7;
int c[N][N];
void init(){
for(int a = 0; a < N; a ++ ){
for(int b = 0; b <= a; b ++ ){
if(!b) c[a][b] = 1;
else c[a][b] = (c[a - 1][b - 1] + c[a - 1][b]) % mod;
//求组合数1的公式(可推:从a个苹果里拿b个苹果,考虑某一个特定的苹果,如果一定拿他,就是从a-1个苹果中拿b-1个苹果,如果一定不拿它就是从a-1个苹果中拿b-1个苹果
}
}
}
int main()
{
int n;
scanf("%d", &n);
while(n -- ){
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", c[a][b]);
}
return 0;
}
AcWing 885 求组合数 I 题解 (求组合数)
最新推荐文章于 2024-08-14 11:57:07 发布
本文详细解析了AcWing在线编程平台的第885题——求组合数 I。通过介绍该问题的背景、解题思路和关键算法,帮助读者理解如何计算组合数,并提供了具体的代码实现,旨在提升读者的算法理解和编程能力。
摘要由CSDN通过智能技术生成