QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#259576 | #5088. Two Choreographies | Aestivate | WA | 42ms | 22768kb | C++20 | 1.6kb | 2023-11-21 02:22:29 | 2023-11-21 02:22:29 |
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];
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.