Pagini recente » Cod sursa (job #1136719) | Cod sursa (job #3198744) | Cod sursa (job #1156814) | Cod sursa (job #2090849) | Cod sursa (job #2175250)
#include<bits/stdc++.h>
using namespace std;
int N, M, x[500009], y[500009];
bool deleted[500009];
vector < int > v[100009];
void euler (int nod)
{
for (auto it : v[nod])
if (!deleted[it])
{
deleted[it] = 1;
euler (x[it] ^ y[it] ^ nod);
printf ("%d ", nod);
}
}
int main ()
{
freopen ("ciclueuler.in", "r", stdin);
freopen ("ciclueuler.out", "w", stdout);
scanf ("%d %d", &N, &M);
for (int i=1; i<=M; i++)
{
scanf ("%d %d", &x[i], &y[i]);
v[x[i]].push_back (i);
v[y[i]].push_back (i);
}
for (int i=1; i<=N; i++)
if (v[i].size () & 1)
{
printf ("-1\n");
return 0;
}
euler (1), printf ("\n");
return 0;
}