Pagini recente » Cod sursa (job #2543014) | Cod sursa (job #2599397) | Cod sursa (job #3205830) | Cod sursa (job #232245) | Cod sursa (job #2651824)
#include <iostream>
#include <fstream>
#include <vector>
#include <map>
#include <algorithm>
#define NMAX 100005
using namespace std;
vector<int> g[NMAX];
map<pair<int, int>, bool> del;
vector<int> cycle;
void dfs(int u) {
for (auto v : g[u])
if (del.find({u,v})==del.end()) {
del[{u, v}] = del[{v, u}] = true;
dfs(v);
}
cycle.push_back(u);
}
int main()
{
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int n, m;
fin >> n >> m;
for (int i = 0;i < m;++i) {
int x, y;
fin >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1);
if (cycle.size() < m)
fout << "-1";
else
for (auto u : cycle)
fout << u << ' ';
return 0;
}