Submission #1868235


Source Code Expand

#include<bits/stdc++.h>

using namespace std;

inline int read()
{
    int x=0;char ch=getchar();
    while(ch<'0' || '9'<ch)ch=getchar();
    while('0'<=ch && ch<='9')x=x*10+(ch^48),ch=getchar();
    return x;
}

const int N=1e5+9;

int n,m,top,q[N];
int to[N<<1],nxt[N<<1],beg[N],tot;
bool vis[N];

inline void add(int u,int v)
{
	to[++tot]=v;
	nxt[tot]=beg[u];
	beg[u]=tot;
}

inline void dfs(int u)
{
	vis[q[++top]=u]=1;
	bool f=0;
	for(int i=beg[u];i;i=nxt[i])
		if(!vis[to[i]] && !f)
		{
			dfs(to[i]);
			f=1;
		}
}

int main()
{
	n=read();m=read();
	for(int i=1,u,v;i<=m;i++)
	{
		u=read();v=read();
		add(u,v);add(v,u);
	}
		
	dfs(1);
	reverse(q+1,q+top+1);
	top--;
	dfs(1);
	printf("%d\n",top);
	for(int i=1;i<=top;i++)
		printf("%d ",q[i]);

    return 0;
}

Submission Info

Submission Time
Task B - Hamiltonish Path
User Aldrich
Language C++14 (GCC 5.4.1)
Score 500
Code Size 825 Byte
Status AC
Exec Time 24 ms
Memory 4096 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 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 10 ms 2048 KB
subtask_1_02.txt AC 4 ms 768 KB
subtask_1_03.txt AC 10 ms 1920 KB
subtask_1_04.txt AC 11 ms 2048 KB
subtask_1_05.txt AC 11 ms 2048 KB
subtask_1_06.txt AC 11 ms 2048 KB
subtask_1_07.txt AC 11 ms 2176 KB
subtask_1_08.txt AC 11 ms 2176 KB
subtask_1_09.txt AC 24 ms 4096 KB
subtask_1_10.txt AC 5 ms 1024 KB
subtask_1_11.txt AC 6 ms 1152 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 1 ms 256 KB