Pagini recente » Cod sursa (job #3128469) | Cod sursa (job #890655) | Cod sursa (job #2828873) | Cod sursa (job #1985836) | Cod sursa (job #1929130)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 50005;
int nodes, edges;
bool visited[100005];
vector <int> G[NMAX];
stack <int> S;
void Visit (int node) {
visited[node] = true;
for (auto &it: G[node]) {
if (!visited[it]) {
Visit (it);
}
}
S.push(node);
}
int main()
{
freopen ("sortaret.in", "r", stdin);
freopen ("sortaret.out", "w", stdout);
scanf ("%d%d", &nodes, &edges);
for (int i = 1; i <= edges; ++ i) {
int node1, node2;
scanf ("%d%d", &node1, &node2);
G[node1].push_back (node2);
}
for (int i = 1; i <= nodes; ++ i) {
if (!visited[i]) {
Visit (i);
}
}
while (!S.empty ()) {
printf("%d ", S.top());
S.pop ();
}
return 0;
}