QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#613982 | #9347. Competition in Swiss-system | Your-Sun | AC ✓ | 521ms | 5812kb | C++20 | 4.4kb | 2024-10-05 15:14:53 | 2024-10-05 15:18:04 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef __int128_t lll;
typedef pair<lll,lll> plll;
#define endl '\n'
struct node
{
lll mp, gp;
lll num_game;
plll mw, gw;
vector<int> oppenent;
node()
{
mp=gp=num_game=0;
mw=gw=make_pair(0,0);
}
};
void reduction(plll &u)
{
auto &[x,y]=u;
lll t=__gcd(x,y);
x/=t, y/=t;
}
void write(lll x)
{
string str;
if(!x)
str+='0';
while(x)
{
auto t=x%10;
x/=10;
str+=to_string(int(t));
}
reverse(str.begin(),str.end());
cout<<str;
}
lll GCD(lll x, lll y)
{
if(!y)
return x;
return GCD(y,x%y);
}
lll LCM(lll x, lll y)
{
lll res=x/GCD(x,y)*y;
return res;
}
plll operator+=(plll &a, const plll &b)
{
plll res;
auto [x1,y1]=a;
auto[x2,y2]=b;
res.second=LCM(y1,y2);
res.first=x1*res.second/y1 + x2*res.second/y2;
reduction(res);
a=res;
return a;
}
void solve()
{
int n,m;
cin>>n>>m;
vector<node> a(n+1);
int i,j,k;
vector<int> b(m+1);
for(i=1;i<=m;i++)
cin>>b[i];
auto check=[](plll u)
{
auto [x,y]=u;
if(3*x<=y)
x=1, y=3;
return make_pair(x,y);
};
auto fun_omw=[&](node u)->plll
{
if(!u.oppenent.size())
return make_pair(1,3);
int f=0;
plll res;
for(auto idx:u.oppenent)
{
if(!f)
{
f=1;
res=check(a[idx].mw);
continue;
}
res+=check(a[idx].mw);
}
res.second*=u.oppenent.size();
reduction(res);
return res;
};
auto fun_gw=[&](plll u)
{
auto [x,y]=u;
lll t=__gcd(x,y);
x/=t, y/=t;
plll res=make_pair(x,y);
return check(res);
};
auto fun_ogw=[&](node u)->plll
{
if(!u.oppenent.size())
return make_pair(1,3);
int f=0;
plll res;
for(auto idx:u.oppenent)
{
if(!f)
{
f=1;
res=check(a[idx].gw);
continue;
}
res+=check(a[idx].gw);
}
res.second*=u.oppenent.size();
reduction(res);
return res;
};
for(int round=1;round<=m;round++)
{
cout<<"Round "<<round<<endl;
vector<int> vis(n+1);
for(i=0;i<b[round];i++)
{
int p1,p2,w1,w2,d;
cin>>p1>>p2>>w1>>w2>>d;
if(w1>w2) a[p1].mp+=3;
if(w1<w2) a[p2].mp+=3;
if(w1==w2) a[p1].mp++, a[p2].mp++;
a[p1].gp+=w1*3+d, a[p2].gp+=w2*3+d;
a[p1].oppenent.push_back(p2);
a[p2].oppenent.push_back(p1);
a[p1].num_game+=w1+w2+d;
a[p2].num_game+=w1+w2+d;
vis[p1]=vis[p2]=1;
}
for(i=1;i<=n;i++)
{
if(!vis[i])
a[i].mp+=3, a[i].gp+=6, a[i].num_game+=2;
a[i].mw=make_pair(a[i].mp, round*3);
a[i].gw=make_pair(a[i].gp, a[i].num_game*3);
}
for(i=1;i<=n;i++)
{
// cout<<a[i].mp<<' '; // mp
// plll res_omw=fun_omw(a[i]);
// cout<<res_omw.first<<'/'<<res_omw.second<<' '; // omw
// plll res_gw=fun_gw(a[i].gw);
// cout<<res_gw.first<<'/'<<res_gw.second<<' '; // gw
// plll res_ogw=fun_ogw(a[i]);
// cout<<res_ogw.first<<'/'<<res_ogw.second; // ogw
// cout<<endl;
write(a[i].mp); cout<<' ';
plll res_omw=fun_omw(a[i]);
write(res_omw.first); cout<<'/'; write(res_omw.second); cout<<' ';
plll res_gw=fun_gw(a[i].gw);
write(res_gw.first); cout<<'/'; write(res_gw.second); cout<<' ';
plll res_ogw=fun_ogw(a[i]);
write(res_ogw.first); cout<<'/'; write(res_ogw.second); cout<<' ';
cout<<endl;
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int T;
cin>>T;
while(T--)
solve();
}
// -954351187/3776490432
// 3952849055/7552980864
这程序好像有点Bug,我给组数据试试?
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3528kb
input:
2 2 3 0 1 1 1 2 2 0 1 1 2 1 1 1 3 2 1 1 1 2 0 2 0 2 3 2 0 0
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 Round 2 6 1/2 13/15 7/15 3 1/1 7/15 13/15 Round 3 7 4/9 17/24 11/24 4 7/9 11/24 17/24 Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 Round 2 3 1/1 1/2 1/1 6 1/2 1/1 1/2 3 1/1 1/2 1/1
result:
ok 17 lines
Test #2:
score: 0
Accepted
time: 213ms
memory: 3820kb
input:
3215 26 4 13 13 11 13 19 9 2 1 0 17 1 0 2 0 25 15 2 0 0 14 5 1 2 0 20 2 0 2 0 10 21 2 1 0 3 16 0 2 0 8 6 2 1 0 26 24 1 2 0 22 18 0 1 2 7 11 2 0 0 13 4 1 2 0 23 12 0 2 0 18 20 1 2 0 3 5 2 1 0 25 24 1 2 0 7 9 1 2 0 11 14 2 0 0 8 17 1 1 1 23 12 2 0 0 19 26 1 2 0 2 15 0 2 0 4 13 2 1 0 16 10 0 2 0 6 21 0...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 5/9 1/3 3 1/3 2/3 1/3 0 1/1 1...
result:
ok 312175 lines
Test #3:
score: 0
Accepted
time: 170ms
memory: 3848kb
input:
602 67 7 7 9 4 9 10 6 10 18 36 2 0 0 14 63 1 2 0 20 2 2 1 0 45 17 1 1 1 16 24 0 2 0 15 12 1 1 1 59 38 1 2 0 25 3 1 2 0 19 6 0 2 0 26 51 0 2 0 50 66 1 1 1 4 27 1 2 0 12 5 0 1 2 41 2 1 1 1 54 1 1 1 1 28 29 0 2 0 38 64 1 1 1 46 63 1 1 1 25 44 2 1 0 30 11 0 2 0 60 38 2 0 0 11 39 1 1 1 23 8 1 1 1 2 29 0 ...
output:
Round 1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 1/1 1/3 0 1/1 1/3 2/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 1 1/3 4/9 4/9 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2...
result:
ok 303032 lines
Test #4:
score: 0
Accepted
time: 468ms
memory: 4160kb
input:
36 818 12 399 400 403 401 400 400 399 402 402 403 399 402 484 426 2 1 0 304 580 0 2 0 261 281 2 0 0 739 204 2 0 0 53 297 1 2 0 430 258 2 1 0 521 763 1 2 0 718 526 2 0 0 611 247 1 2 0 644 453 0 2 0 283 91 2 1 0 695 223 1 2 0 583 679 2 1 0 538 396 1 1 1 582 766 1 2 0 146 136 1 2 0 799 77 1 2 0 530 787...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 2/3 1/3 0 1/1 1/3 7/9 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1...
result:
ok 300314 lines
Test #5:
score: 0
Accepted
time: 459ms
memory: 3868kb
input:
37 986 7 493 493 493 493 493 493 493 753 944 2 1 0 590 186 1 2 0 142 847 2 0 0 11 725 1 2 0 41 445 0 2 0 509 418 1 2 0 500 663 2 0 0 895 401 1 2 0 932 24 0 2 0 14 446 2 0 0 984 170 1 2 0 803 316 0 2 0 36 690 0 2 0 228 719 1 2 0 378 979 2 0 0 650 477 2 0 0 821 496 0 2 0 828 181 1 2 0 303 978 2 0 0 34...
output:
Round 1 3 1/3 7/9 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 1 1/3 4/9 4/9 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2...
result:
ok 300065 lines
Test #6:
score: 0
Accepted
time: 443ms
memory: 3840kb
input:
39 455 12 194 198 198 192 188 196 194 193 185 192 193 185 274 152 2 0 0 172 313 2 1 0 324 382 2 0 0 423 41 1 2 0 108 273 2 0 0 88 436 0 2 0 1 386 2 0 0 162 384 2 0 0 176 195 1 1 1 371 303 0 2 0 292 198 0 2 1 98 403 0 2 0 57 225 1 2 0 142 256 1 1 1 362 211 1 1 1 318 265 0 2 0 235 322 2 1 0 126 165 2 ...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1...
result:
ok 300060 lines
Test #7:
score: 0
Accepted
time: 270ms
memory: 3524kb
input:
1053 46 7 23 23 23 23 23 23 23 46 26 2 1 0 9 14 0 2 0 2 15 2 0 0 12 16 2 0 0 22 29 0 2 0 7 17 2 0 0 20 3 0 2 0 41 31 1 1 1 44 6 0 2 0 32 8 1 1 1 23 36 2 0 0 30 5 1 2 0 4 21 0 2 0 42 34 0 2 0 37 27 1 2 0 19 13 2 1 0 18 38 1 2 0 43 28 2 0 0 24 11 2 1 0 39 10 2 1 0 25 33 0 2 0 35 45 0 2 1 40 1 2 0 0 16...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1...
result:
ok 306093 lines
Test #8:
score: 0
Accepted
time: 447ms
memory: 4028kb
input:
38 408 9 202 201 202 202 201 199 203 201 202 145 197 0 2 0 303 110 2 1 0 168 83 1 2 0 312 254 2 1 0 120 27 0 2 0 162 194 0 2 0 133 128 1 2 0 146 268 2 1 0 238 52 2 0 0 147 72 0 2 0 280 95 2 1 0 211 322 1 2 0 118 400 2 1 0 138 123 2 0 0 101 328 0 2 0 172 267 2 0 0 293 313 1 2 0 360 189 2 1 0 193 202 ...
output:
Round 1 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1...
result:
ok 299664 lines
Test #9:
score: 0
Accepted
time: 489ms
memory: 4144kb
input:
34 682 11 336 339 338 337 338 339 338 335 338 336 334 75 474 2 0 0 368 334 2 0 0 501 600 0 2 0 133 291 0 2 0 630 498 0 2 0 125 681 1 2 0 393 198 1 2 0 17 574 0 2 0 558 217 2 1 0 121 71 2 1 0 355 188 2 0 0 598 351 2 0 0 80 593 0 2 1 540 508 0 2 0 647 63 2 1 0 287 447 0 2 0 409 141 0 2 0 543 459 1 2 0...
output:
Round 1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 7/9 1/3 3 1/3 2/3 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 3 1/3 2...
result:
ok 299852 lines
Test #10:
score: 0
Accepted
time: 512ms
memory: 4124kb
input:
18 1000 16 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 906 272 2 0 1 150 792 2 1 0 499 344 0 0 3 809 137 2 1 0 321 309 2 0 1 606 363 2 1 0 62 813 2 0 1 63 354 1 1 1 530 921 1 0 2 325 532 1 1 1 830 439 2 0 1 558 735 1 1 1 157 106 2 0 0 915 166 2 1 0 990 528 0 2 1 503 833 2 0 0 221...
output:
Round 1 0 1/1 1/3 7/9 0 1/1 1/3 5/9 0 1/1 1/3 1/1 0 1/1 1/3 7/9 1 1/3 4/9 4/9 1 1/3 1/3 1/3 1 1/3 1/3 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 3 1/3 5/9 1/3 3 1/3 1/1 1/3 3 1/3 7/9 1/3 3 1/3 5/9 1/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 5/9 1 1/3 4/9 4/9 3 1/3 2/3 1/3 3 1/3 1/1 1/3 3 1/3 7...
result:
ok 288288 lines
Test #11:
score: 0
Accepted
time: 484ms
memory: 4100kb
input:
18 1000 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 16 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 916 131 0 0 3 77 600 0 0 3 83 120 0 0 3 291 132 0 0 3 943 450 0 0 3 373 15 0 0 3 597 954 0 0 3 955 841 0 0 3 350 310 0 0 3 422 947 0 0 3 508 868 0 0 3 155 571 0 0 3 415 295 0 0 3 138 82...
output:
Round 1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1...
result:
ok 288288 lines
Test #12:
score: 0
Accepted
time: 521ms
memory: 5624kb
input:
3 4299 14 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2149 2946 716 2 1 0 2553 1869 1 2 0 755 406 1 1 1 1203 2823 0 2 0 4077 3512 1 2 0 725 603 0 2 0 2852 1096 2 0 0 476 288 2 0 0 1840 2298 0 2 0 501 2736 0 2 0 3981 1285 2 0 0 1421 3234 1 2 0 4167 3812 2 0 0 3570 3250 0 2 0 1999...
output:
Round 1 3 1/3 1/1 1/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 0 1/1 1/3 2/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 3 1/3 2/3 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 1/1 0 1/1 1...
result:
ok 292315 lines
Test #13:
score: 0
Accepted
time: 494ms
memory: 5812kb
input:
3 6536 8 3237 3232 3238 3239 3234 3239 3236 3228 4819 4365 2 1 0 1844 4941 1 2 0 6225 3950 2 1 0 1707 4719 2 0 0 63 895 2 1 0 5270 3536 2 0 0 2097 2650 0 2 0 568 4192 0 2 0 4853 4221 0 2 0 5788 1504 0 2 0 5534 3632 2 0 0 6212 192 2 1 0 3914 92 2 0 0 3117 1919 0 2 0 4943 6070 2 0 0 2132 5123 2 0 0 29...
output:
Round 1 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 2/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 2/3 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 3 1/3 2/3 1/3 0 1/1 1/3 1/1 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 2...
result:
ok 293052 lines
Test #14:
score: 0
Accepted
time: 321ms
memory: 5608kb
input:
1 10000 16 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 6547 6961 2 1 0 3374 1491 0 2 0 2327 947 0 2 1 568 6497 2 0 0 9049 6556 0 1 2 8327 7516 2 0 0 4639 4156 0 2 0 2949 6724 0 2 0 1500 1082 0 2 0 7374 2824 2 1 0 3415 1330 1 2 0 5144 2864 0 2 0 8357 4832 0 2 0 605...
output:
Round 1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 3 1/3 1/1 1/3 1 1/3 4/9 4/9 0 1/1 1/3 1/1 0 1/1 1/3 1/1 1 1/3 4/9 4/9 3 1/3 1/1 1/3 3 1/3 1/1 1/3 0 1/1 1/3 7/9 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1/3 1/1 3 1/3 1/1 1/3 3 1/3 7/9 1/3 3 1/3 1/1 1/3 0 1/1 1/3 1/1 0 1/1 1...
result:
ok 160016 lines
Extra Test:
score: 0
Extra Test Passed