Pagini recente » Cod sursa (job #1833496) | Cod sursa (job #2256902) | Cod sursa (job #2602339) | Cod sursa (job #354335) | Cod sursa (job #3267901)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciclueuler.in");
ofstream fout("ciclueuler.out");
struct node {
unordered_multiset<int> in;
unordered_multiset<int> out;
};
array<node,100001> g;
stack<int> ans;
void solve(int x) {
node& nodeX = g[x];
while (!nodeX.out.empty()) {
int y = *nodeX.out.begin();
nodeX.out.erase(y);
node& nodeY = g[y];
nodeY.in.erase(x);
solve(y);
}
ans.push(x);
}
int n,m;
int main() {
fin >> n >> m;
for (int i = 1; i <= m; i++) {
int x,y;
fin >> x >> y;
g[x].out.insert(y);
g[y].in.insert(x);
}
solve(1);
while (!ans.empty()) {
fout << ans.top() << ' ';
ans.pop();
}
return 0;
}