ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#166519 | #2908. count | LJ07 | 100 | 12ms | 2712kb | C++11 | 1.2kb | 2022-11-20 16:05:43 | 2022-11-20 16:05:45 |
answer
#include <bits/stdc++.h>
#define For(i, l, r) for (int i(l), e##i(r); i <= e##i; ++i)
#define Rof(i, r, l) for (int i(r), e##i(l); i >= e##i; --i)
using namespace std;
template<class T>void rd(T &x, char c = getchar(), bool f = true)
{
for (; !isdigit(c); c = getchar()) f = c != '-';
for (x = 0; isdigit(c); c = getchar()) x = x * 10 + (c ^ 48);
x = f ? x : -x;
}
template<class A, class... B>void rd(A &x, B&... y) {rd(x), rd(y...);}
using i64 = long long;
using vi = vector<int> ;
template<const int T>using AR = array<int, T>;
#define pb push_back
#define SZ(x) (int)x.size()
const int N(2e5 + 5), P(1e9 + 7);
int T, n, m, fac[N + 5]{1}, ifac[N + 5];
int C(int a, int b)
{
return a < b || b < 0 ? 0 : 1ll * fac[a] * ifac[b] % P * ifac[a - b] % P;
}
int fpw(int a, int b)
{
int t(1);
for (; b; b >>= 1, a = 1ll * a * a % P) if (b & 1) t = 1ll * t * a % P;
return t;
}
int main()
{
For(i, 1, N) fac[i] = 1ll * fac[i - 1] * i % P;
ifac[N] = fpw(fac[N], P - 2);
Rof(i, N, 1) ifac[i - 1] = 1ll * ifac[i] * i % P;
for (rd(T); T--; )
{
int n, m;
rd(n, m);
printf("%lld\n", (1ll * n * m - 1) % P
* C(n + m - 2, n - 1) % P);
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 20
Accepted
time: 4ms
memory: 2712kb
input:
10 1 1 2000 1997 117 1647 392 452 959 1883 1046 1627 1398 1124 1372 306 1799 1007 111 1765
output:
0 57631948 737963048 807538931 137760374 398194748 77480423 174938019 583393917 445670336
result:
ok 10 lines
Test #2:
score: 20
Accepted
time: 0ms
memory: 2708kb
input:
10 1 1 2000 1997 1218 1479 350 1244 784 1715 999 92 396 1393 1726 1511 624 756 900 317
output:
0 57631948 610566455 356523655 593949258 665757514 349394180 73375269 50652564 663822508
result:
ok 10 lines
Test #3:
score: 20
Accepted
time: 4ms
memory: 2712kb
input:
10 1 1 100000 99997 36934 50467 5497 37576 83775 15544 23817 68917 33052 49207 59924 39340 2708 2614...
output:
0 73866797 788834869 539491921 582239610 497376436 343937059 324406513 13225836 35059446
result:
ok 10 lines
Test #4:
score: 20
Accepted
time: 4ms
memory: 2708kb
input:
10 1 1 100000 99997 6792 14252 90281 65716 46434 67120 18977 30384 16191 33996 3425 10433 31783 4263...
output:
0 73866797 609230597 213203975 638117274 527713366 525065128 867713025 174019248 375031322
result:
ok 10 lines
Test #5:
score: 20
Accepted
time: 0ms
memory: 2712kb
input:
10 1 1 100000 99994 47270 99792 93093 92620 88764 20724 48143 99711 33293 89038 2816 16811 97638 670...
output:
0 796648553 5720713 279796657 802039459 22848874 23038351 610731858 629891152 812026839
result:
ok 10 lines