Pagini recente » Cod sursa (job #239898) | Cod sursa (job #2012508) | Cod sursa (job #1900757) | Cod sursa (job #264953) | Cod sursa (job #755364)
Cod sursa(job #755364)
#include<cstdio>
#include<list>
using namespace std;
int l,x,y,i,n,m,ul,v;
list < int > h[100002];
list < int > ::iterator it;
int main()
{
freopen("ciclueuler.in","r",stdin);
freopen("ciclueuler.out","w",stdout);
scanf("%d",&n);
scanf("%d",&m);
for(i=1;i<=m;i++)
{
scanf("%d",&x);
scanf("%d",&y);
h[x].push_back(y);
h[y].push_back(x);
}
for(i=1;i<=n;i++)
if(h[i].size()%2==1)
{
printf("-1\n");
return 0;
}
l=1;
ul=0;
while(l<=m)
{
if(l==1)
{
ul=1;
printf("1 ");
}
else
{
v=h[ul].back();
printf("%d ",v);
h[ul].pop_back();
for(it=h[v].begin();it!=h[v].end();it++)
if(*it==ul)
{
h[v].erase(it);
break;
}
ul=v;
}
l++;
}
return 0;
}