QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#259576#5088. Two ChoreographiesAestivateWA 42ms22768kbC++201.6kb2023-11-21 02:22:292023-11-21 02:22:29

Judging History

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

  • [2023-11-21 02:22:29]
  • 评测
  • 测评结果:WA
  • 用时:42ms
  • 内存:22768kb
  • [2023-11-21 02:22:29]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

#define F first 
#define S second 
#define pb push_back
#define int long long

vector<int>node[100005];
bool vis[100005];
int dep[100005],pp[100005];
int id[100005];
pair<int,int>ans[100005];
int now=0,t1,t2;

void dfs(int v,int pre){

    pp[v]=pre;
    dep[v]=dep[pre]+1;
    vis[v]=1;
    for(int ii:node[v]){
        if(ii==pre) continue;
        if(!vis[ii]){
            dfs(ii,v);
        }
        else if(dep[v]>dep[ii]){
            int dd=dep[v]-dep[ii];
            int g1=v,g2=ii;
            if(dep[g1]<dep[g2]) swap(g1,g2);
            dd=abs(dd);
            if(id[dd]){
                now=dd;t1=g1,t2=g2;
            }
            else ans[dd].F=g1,ans[dd].S=g2;
            id[dd]=g1;
        }
    }
}

void solve(){
    int n;
    cin>>n;
    for(int i=1;i<=n*2-3;i++){
        int g,h;
        cin>>g>>h;
        node[g].pb(h);
        node[h].pb(g);
    }
    dfs(1,1);
    bool nn=0;
    if(!now) {
        now=2;
        nn=1;
        t1=id[n-2],t2=id[n-1];
        // cerr<<dep[ans[2].F]<<" "<<dep[ans[2].S]<<"t1,t2\n";
    }
    

    int g1=ans[now].F,h1=ans[now].S;
    swap(g1,h1);swap(t1,t2);
    // cerr<<now<<"\n";
    cout<<now+1<<"\n";
    while(h1!=g1) cout<<h1<<" ",h1=pp[h1];
    cout<<g1<<"\n";

    if(nn){
        cout<<id[n-2]<<" "<<1<<" "<<id[n-1]<<"\n";
        return;
    }

    while(t2!=t1) cout<<t2<<" ",t2=pp[t2];
    cout<<t1<<"\n";
}

signed main(){
    ios::sync_with_stdio(0);cin.tie(0);
    solve();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 6172kb

input:

4
1 2
1 3
1 4
2 3
2 4

output:

3
3 2 1
4 2 1

result:

ok 

Test #2:

score: 0
Accepted
time: 2ms
memory: 9612kb

input:

5
1 2
1 3
1 4
1 5
2 3
2 5
3 4

output:

3
3 2 1
5 2 1

result:

ok 

Test #3:

score: 0
Accepted
time: 2ms
memory: 9504kb

input:

7
1 2
3 4
5 6
5 2
3 1
6 1
4 2
4 5
2 6
3 6
1 5

output:

3
6 5 2
5 2 1

result:

ok 

Test #4:

score: 0
Accepted
time: 2ms
memory: 8940kb

input:

40
1 16
1 40
2 4
2 16
2 36
3 25
3 38
4 1
4 13
5 11
5 27
6 4
7 5
7 11
8 10
8 14
8 24
9 34
10 20
12 35
13 2
14 10
14 20
15 18
15 28
15 31
16 6
16 13
17 5
17 11
17 27
18 9
19 1
19 4
19 16
20 24
21 12
21 33
21 35
22 38
23 12
23 21
25 28
25 31
25 34
25 38
26 14
26 20
27 7
27 11
28 3
28 31
29 16
29 19
30 ...

output:

3
13 4 2
40 16 1

result:

ok 

Test #5:

score: 0
Accepted
time: 2ms
memory: 9288kb

input:

201
1 7
1 114
1 119
2 49
2 93
4 197
5 139
6 1
6 27
7 39
7 121
8 127
9 130
9 145
11 106
11 136
11 193
12 2
12 116
13 55
13 69
13 105
13 187
13 196
14 144
14 177
15 127
15 134
15 145
15 155
15 184
15 199
16 96
16 177
17 20
21 100
22 68
22 71
22 81
22 142
23 148
23 190
24 12
24 81
24 89
25 158
25 159
2...

output:

9
48 50 82 95 97 153 31 34 39
85 35 163 176 119 109 48 50 82

result:

ok 

Test #6:

score: 0
Accepted
time: 4ms
memory: 7236kb

input:

8000
2 1508
2 3068
3 5268
3 5501
6 266
6 2737
6 3197
6 5863
6 6697
7 3492
9 427
9 794
9 3114
9 5509
10 2257
10 4348
11 1479
11 1957
11 2230
11 2500
11 3182
11 4399
11 5051
11 7727
12 7669
13 1403
13 5753
14 2871
14 6956
14 7959
15 6902
17 1630
17 3155
17 5950
18 7232
19 125
19 3280
19 5648
20 6879
2...

output:

59
7269 1141 4757 1533 1526 4356 4002 2758 1665 2392 2908 3079 1593 7314 2344 1789 2378 2006 2973 3810 140 4142 2037 3310 5779 5627 7799 4355 1315 3714 4435 1599 3635 1417 2159 5078 196 976 1809 4362 5248 4859 2398 2930 5879 2832 5985 6674 2534 2797 1371 4858 6837 104 177 1788 345 4306 1437
3140 187...

result:

ok 

Test #7:

score: 0
Accepted
time: 42ms
memory: 16712kb

input:

99999
1 11261
1 21544
2 9017
2 63063
2 97990
3 11995
3 42473
4 19846
5 38099
6 35872
6 80509
7 73231
8 12356
9 35384
10 45091
12 86727
13 4938
13 48917
14 62383
14 89846
15 28458
15 44277
15 51725
15 84522
16 93258
17 13934
17 42238
18 19000
19 11278
19 23672
19 61502
19 78791
20 85057
20 88080
21 2...

output:

14
99193 28785 91488 43300 30125 27761 70451 92439 14811 87581 59053 81954 79518 44592
73807 3074 67557 48733 4429 76341 21704 7887 12287 86 77258 32332 11728 96719

result:

ok 

Test #8:

score: 0
Accepted
time: 35ms
memory: 14776kb

input:

100000
1 68531
2 97359
4 68578
4 83098
4 98443
5 8053
5 30270
5 86617
6 7074
6 12266
6 69396
7 52675
7 78316
7 90757
7 92242
8 32677
8 41353
8 41457
8 74508
9 44234
10 4973
10 38390
10 96049
11 28007
11 68620
13 3016
14 36748
15 8147
15 25110
15 28489
15 72947
15 99347
16 70760
17 12774
17 68407
17 ...

output:

26
30724 78803 57237 13762 37674 62187 9320 7516 7838 38996 1714 66583 91823 8050 45408 76033 85211 96884 11101 24658 74292 3471 31626 8947 56376 28410
50301 393 27554 29842 57259 65459 20619 13248 18573 53942 18418 15521 4493 16477 26680 39373 3414 8483 52576 7952 95518 30608 90666 2095 38522 20596

result:

ok 

Test #9:

score: 0
Accepted
time: 2ms
memory: 8724kb

input:

7
1 2
2 3
3 4
4 5
5 6
6 7
7 5
1 4
7 3
1 6
7 1

output:

3
7 6 5
6 1 7

result:

ok 

Test #10:

score: 0
Accepted
time: 39ms
memory: 22768kb

input:

100000
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
21 22
22 23
23 24
24 25
25 26
26 27
27 28
28 29
29 30
30 31
31 32
32 33
33 34
34 35
35 36
36 37
37 38
38 39
39 40
40 41
41 42
42 43
43 44
44 45
45 46
46 47
47 48
48 49
49 50
50 51
51 52
52 5...

output:

3
3 2 1
99999 1 100000

result:

ok 

Test #11:

score: -100
Wrong Answer
time: 1ms
memory: 6128kb

input:

8
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 6
1 4
8 4
8 3
8 2
1 8

output:

3
8 7 6
8 1 8

result:

wrong answer Wrong output - Multiple digits.