QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#259424#5088. Two ChoreographiesNYCU_CartesianTree#TL 5ms6592kbC++201.4kb2023-11-20 22:00:522023-11-20 22:00:53

Judging History

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

  • [2023-11-20 22:00:53]
  • 评测
  • 测评结果:TL
  • 用时:5ms
  • 内存:6592kb
  • [2023-11-20 22:00:52]
  • 提交

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];
vector<int>now;
map<int,vector<int>>ans;
vector<int>t1,t2;
int tot=0;
int nn;

void dfs(int v,int pre,int dd){
    vis[v]=1;
    now.pb(v);
    tot++;
    for(int ii:node[v]){
        if(!vis[ii]){
            dfs(ii,v,dd+1);
        }
        else if(ii==nn){
            if(ans.count(dd)){
                t1=ans[dd];
                t2=now;
                vector<int>t3=t2;
                reverse(t3.begin()+1,t3.end());
                if(t3==t1) {
                    t1.clear(),t2.clear();
                    continue;
                }
                return;
            }
            else ans[dd]=now;
        }
        if(t1.size()) return;
    }
    now.pop_back();
    vis[v]=0;
}

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);
    }

    for(int i=1;i<=n;i++){
        nn=i;
        dfs(i,i,0);   
        if(t1.size()){
            cout<<t1.size()<<"\n";
            for(int ii:t1) cout<<ii<<" ";cout<<"\n";
            for(int ii:t2) cout<<ii<<" ";cout<<"\n";
            return;
        }
        ans.clear();
    }

}

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

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 5996kb

input:

4
1 2
1 3
1 4
2 3
2 4

output:

3
1 2 3 
1 2 4 

result:

ok 

Test #2:

score: 0
Accepted
time: 1ms
memory: 5960kb

input:

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

output:

3
1 2 3 
1 2 5 

result:

ok 

Test #3:

score: 0
Accepted
time: 1ms
memory: 5980kb

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:

5
1 2 5 6 3 
1 2 5 4 3 

result:

ok 

Test #4:

score: 0
Accepted
time: 1ms
memory: 5916kb

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:

4
1 16 2 4 
1 16 2 36 

result:

ok 

Test #5:

score: 0
Accepted
time: 1ms
memory: 6000kb

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:

24
1 7 39 34 31 153 97 95 82 50 48 109 119 176 163 35 25 158 123 159 104 150 18 114 
1 7 39 34 31 153 97 95 82 50 48 109 119 176 163 35 88 64 175 123 158 73 27 6 

result:

ok 

Test #6:

score: 0
Accepted
time: 5ms
memory: 6592kb

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:

938
1 5680 2486 2354 2969 1421 739 7413 519 410 4263 3109 5498 268 1995 1071 5568 996 87 5043 2647 573 1028 5874 3254 428 65 4748 1824 5787 3562 3561 1298 436 5000 2683 1550 1227 3796 574 4949 3568 432 363 46 4343 861 2850 1949 4318 2357 1564 332 209 4233 461 713 539 3688 3738 2328 984 5951 3605 114...

result:

ok 

Test #7:

score: -100
Time Limit Exceeded

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:


result: