Pagini recente » Cod sursa (job #2123042) | Cod sursa (job #1860340) | Cod sursa (job #1204483) | Cod sursa (job #436989) | Cod sursa (job #2755992)
#include <iostream>
#include <vector>
#include <stack>
#include <fstream>
#define MAXN 50005
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int> adj[MAXN];
stack<int> s;
int visited[MAXN];
void dfs(int start) {
visited[start] = 1;
for (auto node : adj[start]) {
if (!visited[node])
dfs(node);
}
s.push(start);
}
int main() {
int n, m;
fin >> n >> m;
for (int i = 1; i <= m; i++) {
int s, e;
fin >> s >> e;
adj[s].push_back(e);
}
for (int i = 1; i <= n; i++)
if (visited[i] == false)
dfs(i);
while (!s.empty()) {
fout << s.top() << " ";
s.pop();
}
}