Pagini recente » Cod sursa (job #2817299) | Cod sursa (job #2763496) | Cod sursa (job #881342) | Cod sursa (job #2421322) | Cod sursa (job #3296202)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int MAXN = 50000;
vector<int> g[MAXN + 1], order;
int viz[MAXN + 1];
void dfs(int node) {
viz[node] = 1;
for(int vecin : g[node]) {
if(!viz[vecin]) {
dfs(vecin);
}
}
order.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(!viz[i]) {
dfs(i);
}
}
for(int i = n - 1; i >= 0; i--) {
fout << order[i] << " ";
}
fout << "\n";
return 0;
}