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
AC × 3
AC × 55
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