Pagini recente » Cod sursa (job #1163251) | Cod sursa (job #2786018) | Cod sursa (job #1468560) | Cod sursa (job #853443) | Cod sursa (job #1480427)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
#define MAXN 100005
int n,m;
unordered_multiset<int> G[MAXN];
vector<int> ciclu;
void dfs(int node){
while(!G[node].empty()){
auto it1 = G[node].begin();
int vec = *it1;
G[node].erase(it1);
auto it2 = G[vec].find(node);
G[vec].erase(it2);
dfs(vec);
}
ciclu.push_back(node);
}
int main()
{
int x, y;
fin>>n>>m;
while(m--){
fin>>x>>y;
G[x].insert(y);
G[y].insert(x);
}
dfs(1);
ciclu.pop_back();
for(auto p : ciclu)
fout<<p<<" ";
return 0;
}