Pagini recente » Cod sursa (job #2407380) | Cod sursa (job #3195923) | Cod sursa (job #1357887) | Cod sursa (job #1300471) | Cod sursa (job #3234052)
#include <bits/stdc++.h>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int lim = 5e4 + 5;
vector<int> vec[lim];
stack<int> topo;
int n, m, x, y;
bool ok[lim];
void df(int nod) {
ok[nod] = true;
for (int x : vec[nod]) {
if (!ok[x]) {
df(x);
}
}
topo.push(nod);
}
int main() {
in >> n >> m;
for (int i = 1; i <= m; ++i) {
in >> x >> y;
vec[x].push_back(y);
}
for (int i = 1; i <= n; ++i) {
if (!ok[i]) {
df(i);
}
}
while (!topo.empty()) {
out << topo.top() << ' ';
topo.pop();
}
out << '\n';
return 0;
}