Pagini recente » Cod sursa (job #1357731) | Cod sursa (job #664947) | Cod sursa (job #549826) | Cod sursa (job #1434401) | Cod sursa (job #1480442)
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
typedef pair<int, int> Pair;
vector<int> Ciclu;
vector<Pair> G[100005];
bool Del[500005];
void dfs(int node) {
while(!G[node].empty()) {
auto p = G[node].back();
G[node].pop_back();
if(Del[p.second]) continue;
Del[p.second] = 1;
dfs(p.first);
}
Ciclu.push_back(node);
}
int main() {
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
int n, m, a, b;
fin>>n>>m;
for(int i=1; i<=m; i++) {
fin>>a>>b;
G[a].push_back({b, i});
G[b].push_back({a, i});
}
dfs(1);
Ciclu.pop_back();
for(auto v : Ciclu)
fout<<v<<" ";
return 0;
}