QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#613982#9347. Competition in Swiss-systemYour-SunAC ✓521ms5812kbC++204.4kb2024-10-05 15:14:532024-10-05 15:18:04

Judging History

你现在查看的是最新测评结果

  • [2024-10-05 15:18:04]
  • 评测
  • 测评结果:AC
  • 用时:521ms
  • 内存:5812kb
  • [2024-10-05 15:14:53]
  • 提交

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