Submission #24055458
Source Code Expand
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int N;
vector<int>G[1<<17];
bool vis[1<<17];
vector<int>make(vector<int>A)
{
vector<int>ret;
for(int i=0;i<A.size();i++)
{
int un=ret.size();
int st=2;
if(i==0)st--;
if(i+1==A.size())st--;
int vn=un;
for(int j=st;j<G[A[i]].size();j++)
{
ret.push_back(++vn);
}
ret.push_back(un);
}
ret[0]=0;
for(int i=1;i<N;i++)if(ret[i]==0)
{
ret[i]=1;
break;
}
vector<int>::iterator it=ret.begin();
while(*it!=N-1)it++;
ret.erase(it);
ret.push_back(N-1);
return ret;
}
main()
{
cin>>N;
for(int i=1;i<N;i++)
{
int u,v;cin>>u>>v;u--,v--;
G[u].push_back(v);
G[v].push_back(u);
}
if(N==2)
{
cout<<"1 2"<<endl;
return 0;
}
vector<int>A;
int st;
for(int i=0;i<N;i++)if(G[i].size()>1)
{
int cnt=0;
for(int v:G[i])if(G[v].size()>1)cnt++;
if(cnt<=1)
{
st=i;
break;
}
}
while(true)
{
A.push_back(st);
vis[st]=true;
int nxt=-1;
for(int v:G[st])if(G[v].size()>1&&!vis[v])
{
nxt=v;
break;
}
if(nxt<0)break;
st=nxt;
}
for(int i=0;i<N;i++)if(G[i].size()>1&&!vis[i])
{
cout<<-1<<endl;
return 0;
}
vector<int>X=make(A);
reverse(A.begin(),A.end());
vector<int>Y=make(A);
if(X>Y)X=Y;
for(int i=0;i<N;i++)cout<<X[i]+1<<(i+1==N?"\n":" ");
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Permutation Tree |
| User | kotatsugame |
| Language | C++ (GCC 9.2.1) |
| Score | 900 |
| Code Size | 1295 Byte |
| Status | AC |
| Exec Time | 91 ms |
| Memory | 11448 KiB |
Compile Error
./Main.cpp: In function ‘std::vector<int> make(std::vector<int>)’:
./Main.cpp:11:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
11 | for(int i=0;i<A.size();i++)
| ~^~~~~~~~~
./Main.cpp:16:9: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
16 | if(i+1==A.size())st--;
| ~~~^~~~~~~~~~
./Main.cpp:18:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
18 | for(int j=st;j<G[A[i]].size();j++)
| ~^~~~~~~~~~~~~~~
./Main.cpp: At global scope:
./Main.cpp:36:6: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type]
36 | main()
| ^
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 | 85 ms | 11424 KiB |
| oshii_0.txt | AC | 69 ms | 9656 KiB |
| oshii_1.txt | AC | 67 ms | 9632 KiB |
| rnd10000_9876.txt | AC | 16 ms | 6972 KiB |
| rnd10_4.txt | AC | 6 ms | 6576 KiB |
| rnd10_l.txt | AC | 5 ms | 6488 KiB |
| rnd20000_9876.txt | AC | 29 ms | 7364 KiB |
| rnd20_18.txt | AC | 8 ms | 6484 KiB |
| rnd20_4.txt | AC | 5 ms | 6444 KiB |
| rnd20_l.txt | AC | 6 ms | 6636 KiB |
| rnd3000_2984.txt | AC | 11 ms | 6696 KiB |
| rnd3000_l.txt | AC | 13 ms | 6628 KiB |
| rnd_0.txt | AC | 63 ms | 9348 KiB |
| rnd_1.txt | AC | 62 ms | 9224 KiB |
| rnd_10.txt | AC | 6 ms | 6580 KiB |
| rnd_100.txt | AC | 6 ms | 6408 KiB |
| rnd_1000.txt | AC | 7 ms | 6492 KiB |
| rnd_10000.txt | AC | 16 ms | 7112 KiB |
| rnd_100000.txt | AC | 75 ms | 10920 KiB |
| rnd_1000000.txt | AC | 82 ms | 10940 KiB |
| rnd_1000001.txt | AC | 91 ms | 11136 KiB |
| rnd_1000002.txt | AC | 84 ms | 11448 KiB |
| rnd_100001.txt | AC | 18 ms | 6852 KiB |
| rnd_100002.txt | AC | 14 ms | 6884 KiB |
| rnd_10001.txt | AC | 6 ms | 6580 KiB |
| rnd_10002.txt | AC | 7 ms | 6536 KiB |
| rnd_1001.txt | AC | 9 ms | 6436 KiB |
| rnd_1002.txt | AC | 6 ms | 6556 KiB |
| rnd_101.txt | AC | 6 ms | 6440 KiB |
| rnd_102.txt | AC | 6 ms | 6580 KiB |
| rnd_2.txt | AC | 71 ms | 9768 KiB |
| rnd_3.txt | AC | 62 ms | 9372 KiB |
| rnd_4.txt | AC | 64 ms | 9420 KiB |
| rnd_5.txt | AC | 64 ms | 9292 KiB |
| rnd_6.txt | AC | 52 ms | 9000 KiB |
| rnd_7.txt | AC | 56 ms | 9068 KiB |
| rnd_70.txt | AC | 5 ms | 6540 KiB |
| rnd_700.txt | AC | 8 ms | 6568 KiB |
| rnd_7000.txt | AC | 18 ms | 6904 KiB |
| rnd_70000.txt | AC | 54 ms | 9760 KiB |
| rnd_700000.txt | AC | 58 ms | 9936 KiB |
| rnd_700001.txt | AC | 63 ms | 9720 KiB |
| rnd_700002.txt | AC | 63 ms | 10048 KiB |
| rnd_70001.txt | AC | 13 ms | 6832 KiB |
| rnd_70002.txt | AC | 14 ms | 6940 KiB |
| rnd_7001.txt | AC | 7 ms | 6568 KiB |
| rnd_7002.txt | AC | 9 ms | 6612 KiB |
| rnd_701.txt | AC | 6 ms | 6636 KiB |
| rnd_702.txt | AC | 5 ms | 6484 KiB |
| rnd_71.txt | AC | 5 ms | 6532 KiB |
| rnd_72.txt | AC | 6 ms | 6492 KiB |
| sample1.txt | AC | 6 ms | 6556 KiB |
| sampleId.txt | AC | 6 ms | 6496 KiB |
| sampleNo.txt | AC | 7 ms | 6444 KiB |
| star.txt | AC | 71 ms | 10708 KiB |