Pagini recente » Cod sursa (job #918824) | Cod sursa (job #2323307) | Cod sursa (job #2571985) | Cod sursa (job #2907961) | Cod sursa (job #2651839)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#define NMAX 100005
using namespace std;
vector<pair<int,int>> g[NMAX];
vector<int> cycle;
vector<bool> used;
void dfs(int u) {
for (auto v : g[u])
if (!used[v.second]) {
used[v.second] = true;
dfs(v.first);
}
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;
used.push_back(false);
g[x].push_back({ y,i });
g[y].push_back({ x,i });
}
dfs(1);
if (cycle.size() - 1 < m)
fout << "-1";
else
for (auto u : cycle)
fout << u << ' ';
return 0;
}