Pagini recente » Cod sursa (job #98533) | forsen | Cod sursa (job #2712981) | Cod sursa (job #83592) | Cod sursa (job #1524312)
#include <fstream>
#define N 100005
#define M 500005
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
long long a[N][N];
int n,m,gr[N],c[M],l;
void Citire()
{
fin>>n>>m;
int x,y;
for(int i=1;i<=n;i++)
{
fin>>x>>y;
a[x][y]=a[y][x]=1;
gr[x]++;gr[y]++;
}
}
void Ciclu(int x)
{
for(int i=1;i<=n;i++)
if(a[x][i]==1)
{
a[x][i]=a[i][x]=0;
Ciclu(i);
}
c[++l]=x;
}
int main()
{
Citire();
for(int i=1;i<=n;i++)
if(gr[i]%2==1) {fout<<-1;return 0;}
Ciclu(1);
for(int i=1;i<=l;i++)
fout<<c[i]<<" ";
return 0;
}