Pagini recente » Cod sursa (job #972937) | Cod sursa (job #2767524) | Cod sursa (job #1057311) | Cod sursa (job #96429) | Cod sursa (job #1354916)
#include <iostream>
#include <vector>
#define NMax 100001
using namespace std;
vector<int> v[NMax], ciclu;
int n, m, x, y;
void euler (int now) {
while (!v[now].empty()) {
int w = v[now].back (); v[now].pop_back ();
for (int i = 0; i < v[w].size (); i++)
if (v[w][i] == now) {
v[w].erase (v[w].begin () + i);
break;
}
euler (w);
}
ciclu.push_back (now);
}
int main()
{
freopen( "ciclueuler.in", "rt", stdin);
freopen( "ciclueuler.out", "wt", stdout);
cin >> n >> m;
for (int i = 1; i <= m; i++)
cin >> x >> y,
v[x].push_back (y),
v[y].push_back (x);
euler (1);
for (int i = 0; i < ciclu.size () - 1; i++)
cout << ciclu[i] << ' ';
return 0;
}