ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#165236 | #2908. count | Little09 | 100 | 63ms | 16784kb | C++11 | 1018b | 2022-11-09 19:57:02 | 2022-11-09 19:57:04 |
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=1e9+7;
const int N=1000005;
int n,m;
inline int read()
{
char C=getchar();
int ANS=0,F=1;
while (C<'0'||C>'9')
{
if (C=='-') F=-1;
C=getchar();
}
while (C>='0'&&C<='9')
{
ANS=ANS*10+(C-'0');
C=getchar();
}
return ANS*F;
}
ll jc[N],inv[N];
ll ksm(ll x,ll y)
{
ll res=1;
while (y)
{
if (y&1) res=res*x%mod;
x=x*x%mod,y>>=1;
}
return res;
}
ll C(ll x,ll y)
{
if (x<y||y<0) return 0;
return jc[x]*inv[y]%mod*inv[x-y]%mod;
}
void init()
{
jc[0]=1;
for (int i=1;i<N;i++) jc[i]=jc[i-1]*i%mod;
inv[N-1]=ksm(jc[N-1],mod-2);
for (int i=N-2;i>=0;i--) inv[i]=inv[i+1]*(i+1)%mod;
}
void work()
{
n=read(),m=read();
ll tot=C(n+m-1-1,n-1),ans=tot*(m-1)%mod*n%mod;
ans=(ans+tot*(n-1)%mod)%mod;
cout << ans << endl;
}
int main()
{
// freopen("count.in","r",stdin);
// freopen("count.out","w",stdout);
init();
int T=read();
while (T--) work();
return 0;
}
Details
小提示:点击横条可展开更详细的信息
Test #1:
score: 20
Accepted
time: 20ms
memory: 16780kb
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: 16784kb
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: 12ms
memory: 16784kb
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: 15ms
memory: 16784kb
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: 16ms
memory: 16780kb
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