const int N = 1E5 + 5;
int n, m;
ll fact[N+1], infact[N+1];
void x_x()
{
fact[0] = infact[0] = 1;
f(i, 1, N)
{
fact[i] = fact[i - 1] * i%mod;
infact[i] = infact[i - 1] * inv(i, mod) % mod;
}
}
ll C(ll a, ll b)
{
return fact[a] * infact[a - b] % mod*infact[b] % mod;
}
int main()
{
//freopen("in.txt", "r", stdin);
x_x();
int t;
cin >> t;
while (t--)
{
scanf("%d%d", &n, &m);
printf("%lld %lld\n", C(n, m - 1), C(n - 1, m - 1));
}
return 0;
}
I. Secret Project(组合数学,思维)
最新推荐文章于 2021-11-25 18:25:03 发布