Pagini recente » Cod sursa (job #2721117) | Cod sursa (job #910249) | Cod sursa (job #2242976) | Cod sursa (job #1578589) | Cod sursa (job #2798261)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
const int maxN = 5e4 + 5;
vector <int> g[maxN];
vector <int> top;
bool check[maxN];
void dfs(int node) {
check[node] = true;
for(int next : g[node])
if(check[next] == false)
dfs(next);
top.push_back(node);
}
int main()
{
int n, m; fin >> n >> m;
for(int i = 1; i <= m; ++i) {
int u, v; fin >> u >> v;
g[u].push_back(v);
}
for(int i = 1; i <= n; ++i) {
if(check[i] == false)
dfs(i);
}
reverse(top.begin(), top.end());
for(int i = 0; i < top.size(); ++i)
fout << top[i] << " ";
return 0;
}