题目链接: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;
}