QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#259424 | #5088. Two Choreographies | NYCU_CartesianTree# | TL | 5ms | 6592kb | C++20 | 1.4kb | 2023-11-20 22:00:52 | 2023-11-20 22:00:53 |
Judging History
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...