QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#810913 | #4842. Rectangle Placement | HappyNewDay | AC ✓ | 0ms | 3948kb | C++14 | 937b | 2024-12-12 13:13:51 | 2024-12-12 13:13:52 |
Judging History
answer
#include <bits/stdc++.h>
#define Fst first
#define Snd second
#define MP make_pair
#define ll long long
#define PII pair<int,int>
#define PIL pair<int,ll>
#define PLI pair<ll,int>
#define PLL pair<ll,ll>
#define PDD pair<double,double>
using namespace std;
ll n,m,md=998244353;
inline ll ksm(ll x,ll y)
{
ll r=1; for (int i=0;i<35;i++,x=(x*x)%md) if (y&(1ll<<i)) r=(r*x)%md;
return r;
}
inline ll rev(ll x)
{
return ksm(x,md-2);
}
inline ll C(ll al,ll sm)
{
ll r=1; for (ll i=al;i>al-sm;i--) r=(r*i)%md;
for (ll i=1;i<=sm;i++) r=(r*rev(i))%md;
return r;
}
int main()
{
scanf("%lld%lld",&n,&m);
ll res=(C(n,4)*ksm(C(m,2),2))%md;
//cerr <<res<<" res\n";
res+=(C(m,4)*ksm(C(n,2),2))%md;
//cerr <<res<<" res\n";
res-=(C(n,4)*C(m,4))%md;
//cerr <<res<<" res\n";
res=(res%md+md)%md;
//cerr <<res<<" res\n";
printf("%lld\n",res); return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3896kb
input:
4 5
output:
275
result:
ok 1 number(s): "275"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
723435135 239873451
output:
832099301
result:
ok 1 number(s): "832099301"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
10348683 1000000000
output:
959472414
result:
ok 1 number(s): "959472414"
Test #4:
score: 0
Accepted
time: 0ms
memory: 3812kb
input:
1000000000 886687075
output:
994294391
result:
ok 1 number(s): "994294391"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
238133469 977550485
output:
181382226
result:
ok 1 number(s): "181382226"
Test #6:
score: 0
Accepted
time: 0ms
memory: 3940kb
input:
895943525 1000000000
output:
574248092
result:
ok 1 number(s): "574248092"
Test #7:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
1000000000 772281920
output:
2306050
result:
ok 1 number(s): "2306050"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3884kb
input:
123728314 859786182
output:
722858859
result:
ok 1 number(s): "722858859"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3780kb
input:
76505681 1000000000
output:
94904116
result:
ok 1 number(s): "94904116"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
1000000000 952844073
output:
632222340
result:
ok 1 number(s): "632222340"
Test #11:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
599257776 36989190
output:
592333335
result:
ok 1 number(s): "592333335"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
257067834 1000000000
output:
520152555
result:
ok 1 number(s): "520152555"
Test #13:
score: 0
Accepted
time: 0ms
memory: 3804kb
input:
1000000000 133406229
output:
769022397
result:
ok 1 number(s): "769022397"
Test #14:
score: 0
Accepted
time: 0ms
memory: 3760kb
input:
484852621 919224885
output:
829749309
result:
ok 1 number(s): "829749309"
Test #15:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
437629987 1000000000
output:
388969627
result:
ok 1 number(s): "388969627"
Test #16:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
1000000000 313968382
output:
471013029
result:
ok 1 number(s): "471013029"
Test #17:
score: 0
Accepted
time: 0ms
memory: 3888kb
input:
665414774 326352585
output:
424688776
result:
ok 1 number(s): "424688776"
Test #18:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
1000000000 1000000000
output:
656213933
result:
ok 1 number(s): "656213933"
Test #19:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
4 4
output:
71
result:
ok 1 number(s): "71"
Test #20:
score: 0
Accepted
time: 0ms
memory: 3820kb
input:
4 1000000000
output:
946327704
result:
ok 1 number(s): "946327704"
Test #21:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
1000000000 4
output:
946327704
result:
ok 1 number(s): "946327704"