Pagini recente » Cod sursa (job #719919) | Cod sursa (job #1028507) | Cod sursa (job #235816) | Cod sursa (job #1500934) | Cod sursa (job #1480433)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
#define MAXN 100005
int n,m;
unordered_map<int, int> G[MAXN];
vector<int> ciclu;
void deleteE(int sursa, unordered_map<int, int>::iterator it){
it->second--;
if(it->second==0)
G[sursa].erase(it);
}
void dfs(int node){
while(!G[node].empty()){
auto it1 = G[node].begin();
int vec = it1->first;
deleteE(node, it1);
auto it2 = G[vec].find(node);
deleteE(vec, it2);
dfs(vec);
}
ciclu.push_back(node);
}
int main()
{
int x, y;
fin>>n>>m;
while(m--){
fin>>x>>y;
G[x][y]++;
G[y][x]++;
}
dfs(1);
ciclu.pop_back();
for(auto p : ciclu)
fout<<p<<" ";
return 0;
}