Submission #3194170
Source Code Expand
#include<bits/stdc++.h>
#define ll long long
#define db double
#define lowbit(p) (p&(-p))
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define A first
#define B second
using namespace std;
void read(int &x){
x=0; char c=getchar(); int p=1;
for (;c<48;c=getchar())if (c=='-')p=-1;
for (;c>47;c=getchar())x=(x<<1)+(x<<3)+(c^48);
x*=p;
}
void read(ll &x){
x=0; char c=getchar(); int p=1;
for (;c<48;c=getchar())if (c=='-')p=-1;
for (;c>47;c=getchar())x=(x<<1)+(x<<3)+(c^48);
x*=p;
}
void Min(int &x,int y){
if (x>y)x=y;
}
void Max(int &x,int y){
if (x<y)x=y;
}
void Min(ll &x,ll y){
if (x>y)x=y;
}
void Max(ll &x,ll y){
if (x<y)x=y;
}
#define M 100005
struct ed{
int x,nx;
}e[M<<1];
int fa[M],nx[M],ecnt=1,n,mx,id,val[M],Q[M],tot;
bool mark[M];
void add(int x,int y){
e[ecnt]=(ed){y,nx[x]};
nx[x]=ecnt++;
}
void dfs(int f,int x,int d){
fa[x]=f;
// printf("%d->%d\n",f,x);
if (d>mx){
mx=d;
id=x;
}
for (int i=nx[x];i;i=e[i].nx)if (e[i].x!=f){
dfs(x,e[i].x,d+1);
}
}
int qu(int x){
int res=0,i,j,y;
for (i=nx[x];i;i=e[i].nx)if (!mark[e[i].x]){
y=e[i].x;
for (j=nx[y];j;j=e[j].nx)if (e[j].x!=x){
return -1;
}
res++;
}
return res;
}
void chk(){
mx=0;
int tmp,i,j,x;
dfs(0,1,0);
// printf("id=%d\n",id);
mx=0;
dfs(0,id,0);
// printf("id=%d\n",id);
for (x=id;x;x=fa[x]){
// printf("%d ",x);
Q[++tot]=x;
mark[x]=1;
// printf("fa[%d]=%d\n",x,fa[x]);
}
// printf("\n");
for (i=1;i<=tot;i++){
tmp=qu(Q[i]);
if (tmp==-1){
printf("-1\n");
exit(0);
}
else {
val[i]=tmp;
}
}
for (i=1;i<=tot;i++){
if (val[i]!=val[tot-i+1]){
if (val[i]<val[tot-i+1]){
return ;
}
else{
for (j=1;j<=tot-j+1;j++){
swap(Q[j],Q[tot-j+1]);
swap(val[j],val[tot-j+1]);
}
return ;
}
}
}
}
void pt(){
int now=0,i,l,r;
for (i=1;i<=tot;i++){
l=now+2; r=now+val[i]+1;
for (int x=l;x<=r;x++){
printf("%d ",x);
}
printf("%d ",now+1);
now=r;
}
printf("\n");
}
int main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
// freopen("1.in","r",stdin);
read(n);
int i,x,y;
for (i=1;i<n;i++){
read(x); read(y);
add(x,y);
add(y,x);
}
chk();
pt();
return 0;
}
Submission Info
Submission Time |
|
Task |
F - Permutation Tree |
User |
Satori_____ |
Language |
C++14 (GCC 5.4.1) |
Score |
900 |
Code Size |
2323 Byte |
Status |
AC |
Exec Time |
34 ms |
Memory |
8704 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
900 / 900 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sampleId.txt, sampleNo.txt |
All |
id.txt, oshii_0.txt, oshii_1.txt, rnd10000_9876.txt, rnd10_4.txt, rnd10_l.txt, rnd20000_9876.txt, rnd20_18.txt, rnd20_4.txt, rnd20_l.txt, rnd3000_2984.txt, rnd3000_l.txt, rnd_0.txt, rnd_1.txt, rnd_10.txt, rnd_100.txt, rnd_1000.txt, rnd_10000.txt, rnd_100000.txt, rnd_1000000.txt, rnd_1000001.txt, rnd_1000002.txt, rnd_100001.txt, rnd_100002.txt, rnd_10001.txt, rnd_10002.txt, rnd_1001.txt, rnd_1002.txt, rnd_101.txt, rnd_102.txt, rnd_2.txt, rnd_3.txt, rnd_4.txt, rnd_5.txt, rnd_6.txt, rnd_7.txt, rnd_70.txt, rnd_700.txt, rnd_7000.txt, rnd_70000.txt, rnd_700000.txt, rnd_700001.txt, rnd_700002.txt, rnd_70001.txt, rnd_70002.txt, rnd_7001.txt, rnd_7002.txt, rnd_701.txt, rnd_702.txt, rnd_71.txt, rnd_72.txt, sample1.txt, sampleId.txt, sampleNo.txt, star.txt |
Case Name |
Status |
Exec Time |
Memory |
id.txt |
AC |
34 ms |
8704 KB |
oshii_0.txt |
AC |
17 ms |
2688 KB |
oshii_1.txt |
AC |
17 ms |
2688 KB |
rnd10000_9876.txt |
AC |
4 ms |
1152 KB |
rnd10_4.txt |
AC |
1 ms |
256 KB |
rnd10_l.txt |
AC |
1 ms |
256 KB |
rnd20000_9876.txt |
AC |
7 ms |
1408 KB |
rnd20_18.txt |
AC |
1 ms |
256 KB |
rnd20_4.txt |
AC |
1 ms |
256 KB |
rnd20_l.txt |
AC |
1 ms |
256 KB |
rnd3000_2984.txt |
AC |
2 ms |
512 KB |
rnd3000_l.txt |
AC |
2 ms |
384 KB |
rnd_0.txt |
AC |
16 ms |
2432 KB |
rnd_1.txt |
AC |
15 ms |
2304 KB |
rnd_10.txt |
AC |
1 ms |
256 KB |
rnd_100.txt |
AC |
1 ms |
256 KB |
rnd_1000.txt |
AC |
1 ms |
256 KB |
rnd_10000.txt |
AC |
3 ms |
512 KB |
rnd_100000.txt |
AC |
23 ms |
3200 KB |
rnd_1000000.txt |
AC |
32 ms |
5248 KB |
rnd_1000001.txt |
AC |
33 ms |
6016 KB |
rnd_1000002.txt |
AC |
34 ms |
7936 KB |
rnd_100001.txt |
AC |
4 ms |
896 KB |
rnd_100002.txt |
AC |
4 ms |
768 KB |
rnd_10001.txt |
AC |
1 ms |
256 KB |
rnd_10002.txt |
AC |
1 ms |
384 KB |
rnd_1001.txt |
AC |
1 ms |
256 KB |
rnd_1002.txt |
AC |
1 ms |
256 KB |
rnd_101.txt |
AC |
1 ms |
256 KB |
rnd_102.txt |
AC |
1 ms |
256 KB |
rnd_2.txt |
AC |
18 ms |
2688 KB |
rnd_3.txt |
AC |
16 ms |
2432 KB |
rnd_4.txt |
AC |
16 ms |
2432 KB |
rnd_5.txt |
AC |
15 ms |
2432 KB |
rnd_6.txt |
AC |
14 ms |
2048 KB |
rnd_7.txt |
AC |
14 ms |
2176 KB |
rnd_70.txt |
AC |
1 ms |
256 KB |
rnd_700.txt |
AC |
1 ms |
256 KB |
rnd_7000.txt |
AC |
2 ms |
512 KB |
rnd_70000.txt |
AC |
17 ms |
2304 KB |
rnd_700000.txt |
AC |
23 ms |
4864 KB |
rnd_700001.txt |
AC |
23 ms |
3456 KB |
rnd_700002.txt |
AC |
24 ms |
5888 KB |
rnd_70001.txt |
AC |
3 ms |
512 KB |
rnd_70002.txt |
AC |
3 ms |
768 KB |
rnd_7001.txt |
AC |
1 ms |
256 KB |
rnd_7002.txt |
AC |
1 ms |
256 KB |
rnd_701.txt |
AC |
1 ms |
256 KB |
rnd_702.txt |
AC |
1 ms |
256 KB |
rnd_71.txt |
AC |
1 ms |
256 KB |
rnd_72.txt |
AC |
1 ms |
256 KB |
sample1.txt |
AC |
1 ms |
256 KB |
sampleId.txt |
AC |
1 ms |
256 KB |
sampleNo.txt |
AC |
1 ms |
256 KB |
star.txt |
AC |
23 ms |
3200 KB |