Pagini recente » Cod sursa (job #596675) | Cod sursa (job #2779531) | Cod sursa (job #3254508) | Cod sursa (job #1030342) | Cod sursa (job #264783)
Cod sursa(job #264783)
#include<stdio.h>
typedef struct
{ int x,leg;} muchie;
muchie a[1000001];
int n,m,t[100001],stiva[1000001],vf,x,y,i,k;
int main()
{
freopen("ciclueuler.in","r",stdin);
freopen("ciclueuler.out","w",stdout);
scanf("%i%i",&n,&m);
for (k=0,i=1;i<=m;i++)
{
scanf("%i%i",&x,&y);
k++; a[k].x=y; a[k].leg=t[x]; t[x]=k;
k++; a[k].x=x; a[k].leg=t[y]; t[y]=k;
}
k=m+1;
stiva[1]=1; vf=1;
while (vf>0)
{
x=stiva[vf];
if (t[x]>0)
{
vf++;
stiva[vf]=a[t[x]].x;
t[x]=a[t[x]].leg;//practic se elimina muchia x y
}
else
{
printf("%i ",stiva[vf]);
k--;
vf--;
}
}
if (k>0){ freopen("ciclueuler.out","w",stdout); printf("-1");}
fclose(stdout);
fclose(stdin);
return 0;
}