Pagini recente » Cod sursa (job #141359) | Cod sursa (job #3160636) | Cod sursa (job #1586867) | Cod sursa (job #3259998) | Cod sursa (job #2643254)
#include <bits/stdc++.h>
#define nmax 50100
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n, m, a, b;
vector <int> graf[nmax], sol;
bool vizitat[nmax];
void dfs(int nod) {
vizitat[nod] = true;
for (auto j : graf[nod])
if (!vizitat[j])
dfs(j);
sol.push_back(nod);
}
int main() {
in >> n >> m;
for (int i = 1; i <= m; ++i) {
in >> a >> b;
graf[a].push_back(b);
}
for (int i = 1; i <= n; ++i)
if (!vizitat[i])
dfs(i);
for (unsigned int i = sol.size() - 1; i >= 0; --i)
out << sol[i] << " ";
return 0;
}