题目链接:https://www.acwing.com/problem/content/description/887/
时/空限制:1s / 64MB
题目描述
给定n组询问,每组询问给定两个整数,a,b,请你输出的值。
输入格式
第一行包含整数n。
接下来n行,每行包含一组a和b。
输出格式
共n行,每行输出一个询问的解。
数据范围
1≤n≤10000,
1≤b≤a≤2000
输入样例
3
3 1
5 3
2 2
输出样例
3
10
1
解题思路
题意:求出的值。
思路:根据公式即可推导,也就是杨辉三角。
Accepted Code:
/*
* @Author: lzyws739307453
* @Language: C++
*/
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2000, MAXM = 2005;
const int MOD = 1e9 + 7;
int C[MAXM][MAXM];
void Com_Num(int n) {
C[0][0] = 1;
for (int i = 0; i <= n; i++) {
C[i][0] = 1;
for (int j = 1; j <= i; j++)
C[i][j] = (C[i - 1][j - 1] + C[i - 1][j]) % MOD;
}
}
int main() {
int t;
Com_Num(MAXN);
scanf("%d", &t);
while (t--) {
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", C[a][b]);
}
return 0;
}