885. 求组合数 I

// 885. 求组合数 I.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//


/*
https://www.acwing.com/problem/content/887/
给定 n 组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7) 的值。

输入格式
第一行包含整数 n。

接下来 n 行,每行包含一组 a 和 b。

输出格式
共 n 行,每行输出一个询问的解。

数据范围
1≤n≤10000,
1≤b≤a≤2000
输入样例:
3
3 1
5 3
2 2
输出样例:
3
10
1
*/


#include <iostream>


using namespace std;

int n;

const int N = 2010;
int C[N][N];
const int MOD = 1000000000 + 7;

void init() {
	C[0][0] = 1;

	for (int a = 1; a < N; a++) {
		for (int b = 0; b <= a; b++) {
			C[a][b] = C[a - 1][b];
			if (b > 0) C[a][b] += C[a - 1][b - 1], C[a][b] %= MOD;
		}
	}

	return;
}


int main()
{
	init();
	cin >> n;
	for (int i = 0; i < n; i++) {
		int a, b;
		cin >> a >> b;
		cout << C[a][b] << endl;
	}


	return 0;
}

posted on 2024-11-28 14:28  itdef  阅读(22)  评论(0)    收藏  举报

导航