Pagini recente » Cod sursa (job #772178) | Cod sursa (job #2168244) | Cod sursa (job #2477055) | Cod sursa (job #686041) | Cod sursa (job #1500897)
#include <algorithm>
#include <vector>
#include <iostream>
#include <fstream>
#include <stdio.h>
#define MAX_N 50100
#define pb push_back
using namespace std;
vector <int> neighbours[MAX_N];
vector <int> sortedGraph;
bool visited[MAX_N];
void SortTop(int node) {
if (visited[node])
return;
visited[node] = true;
for (auto neighbour: neighbours[node])
SortTop(neighbour);
sortedGraph.pb(node);
}
int main() {
ifstream cin("sortaret.in");
freopen("sortaret.out", "w", stdout);
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
neighbours[x].pb(y);
}
for (int i = 1; i <= n; i++)
SortTop(i);
reverse(sortedGraph.begin(), sortedGraph.end());
for (int i = 0; i < sortedGraph.size(); i++)
printf("%d ", sortedGraph[i]);
return 0;
}