Pagini recente » Cod sursa (job #1096124) | Cod sursa (job #2709431) | Cod sursa (job #648071) | Cod sursa (job #614396) | Cod sursa (job #2559791)
#include <bits/stdc++.h>
using namespace std;
ifstream in("ciclueuler.in");
ofstream out("ciclueuler.out");
const int Nmax = 1e5 + 5;
vector <int> G[Nmax], ans;
int N,M;
void euler(int node)
{
if(!G[node].empty())
{
int y = G[node].back();
G[node].pop_back();
for(vector<int>::iterator i = G[y].begin(); i != G[y].end(); ++i)
{
if(*i == node)
{
G[y].erase(i);
break;
}
}
euler(y);
}
ans.push_back(node);
}
int main()
{
in >> N >> M;
int x,y;
while(M--)
{
in >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
euler(1);
for(auto i : ans)
out << i << " ";
return 0;
}