Pagini recente » Cod sursa (job #2528833) | Cod sursa (job #1853270) | Cod sursa (job #1270893) | Cod sursa (job #1181328) | Cod sursa (job #2758839)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int DIM = 1e5 + 1;
vector <int> adj[DIM], top_sort;
bool visited[DIM];
void DFS(int node) {
visited[node] = true;
for (auto neigh : adj[node]) {
if (!visited[neigh]) DFS(neigh);
}
top_sort.push_back(node);
}
int main() {
int N, M;
fin >> N >> M;
while (M--) {
int x, y;
fin >> x >> y;
adj[x].push_back(y);
}
for (int i = 1; i <= N; i++) {
if (!visited[i]) DFS(i);
}
for (int i = top_sort.size() - 1; i >= 0; i--) fout << top_sort[i] << " ";
return 0;
}