Submission #1691959


Source Code Expand

#include<iostream>
using namespace std;
int nxt[200001],head[200001],to[200001],cnt;
int a[200001],num1=0,num2=0,N=1,x,y;
int ans1[200001],ans2[200001];
int book[200001];
void add(int u,int v)
{
	cnt++;
	nxt[cnt]=head[u];
	head[u]=cnt;
	to[cnt]=v;
}
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++) 
	{
		cin>>x>>y;
		add(x,y);
		add(y,x);
	} 
	if(m==1)
	{
		cout<<"2"<<endl;
		cout<<x<<" "<<y<<" ";
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		if(head[i]!=0&&nxt[head[i]]!=0)
		{
			int y=i,x;
			num1++;
			ans1[num1]=y;
			book[y]=1;
			while(N==1)
			{
				N=0;
				for(int j=head[y];j!=0;j=nxt[j])
				{
					if(book[to[j]]==0)  { y=to[j];N=1;break;}
				}
				if(N==1)
				{
					num1++;
					ans1[num1]=y;
					book[y]=1;	
				}
			}
			N=1;
			y=0;
			for(int j=head[i];j!=0;j=nxt[j])
			{
				if(book[to[j]]==0){
					y=to[j];
					num2++;
					ans2[num2]=y;
					book[y]=1;
					break;
				}
			}
			while(N==1)
			{
				N=0;
				for(int j=head[y];j!=0;j=nxt[j])
				{
					if(book[to[j]]==0)  {y=to[j];N=1;break;}
				}
				if(N==1)
				{
					num2++;
					ans2[num2]=y;
					book[y]=1;
				}
			}
			break;
		}
	}
	cout<<num1+num2<<endl;
	for(int i=num1;i>=1;i--)  cout<<ans1[i]<<" ";
	for(int i=1;i<=num2;i++)  cout<<ans2[i]<<" ";
	return 0;
}

Submission Info

Submission Time
Task B - Hamiltonish Path
User justin_cao
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1347 Byte
Status AC
Exec Time 84 ms
Memory 4608 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 2304 KB
sample_02.txt AC 2 ms 2304 KB
sample_03.txt AC 2 ms 2304 KB
subtask_1_01.txt AC 66 ms 3072 KB
subtask_1_02.txt AC 18 ms 2560 KB
subtask_1_03.txt AC 59 ms 3328 KB
subtask_1_04.txt AC 71 ms 3328 KB
subtask_1_05.txt AC 70 ms 3328 KB
subtask_1_06.txt AC 71 ms 3328 KB
subtask_1_07.txt AC 71 ms 3328 KB
subtask_1_08.txt AC 71 ms 3328 KB
subtask_1_09.txt AC 84 ms 4608 KB
subtask_1_10.txt AC 26 ms 2688 KB
subtask_1_11.txt AC 31 ms 2816 KB
subtask_1_12.txt AC 2 ms 2304 KB
subtask_1_13.txt AC 2 ms 2304 KB