ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#211716 | #2908. count | LZDQ | 100 | 603ms | 21960kb | Python3 | 1005b | 2024-09-13 10:13:27 | 2024-09-13 10:13:28 |
answer
import sys
import threading
MOD = 10**9 + 7
MAX = 2 * (10**5) + 10
def main():
import sys
# sys.setrecursionlimit(1 << 25)
T = int(sys.stdin.readline())
factorial = [1] * MAX
inv_factorial = [1] * MAX
# Precompute factorials and inverse factorials
for i in range(1, MAX):
factorial[i] = factorial[i - 1] * i % MOD
inv_factorial[MAX - 1] = pow(factorial[MAX - 1], MOD - 2, MOD)
for i in range(MAX - 2, -1, -1):
inv_factorial[i] = inv_factorial[i + 1] * (i + 1) % MOD
def comb(n, k):
if k < 0 or k > n:
return 0
return factorial[n] * inv_factorial[k] % MOD * inv_factorial[n - k] % MOD
for _ in range(T):
n_str, m_str = sys.stdin.readline().split()
n = int(n_str)
m = int(m_str)
total_paths = comb(n + m - 2, n - 1)
total_cost = total_paths * (n * m - 1) % MOD
print(total_cost)
# threading.Thread(target=main).start()
main()
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 20
Accepted
time: 128ms
memory: 21944kb
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: 130ms
memory: 21956kb
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: 113ms
memory: 21956kb
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: 112ms
memory: 21960kb
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: 120ms
memory: 21960kb
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