Pagini recente » Cod sursa (job #2612633) | Cod sursa (job #2496389) | Cod sursa (job #2628615) | Cod sursa (job #3262507) | Cod sursa (job #1857465)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int N_MAX = 1e5 + 2;
int n;
vector <int> sorted;
vector <int> graph[N_MAX];
bitset <N_MAX> visited;
void read() {
int x, y, m;
fin >> n >> m;
for (int i = 0; i < m; ++i) {
fin >> x >> y;
graph[x].emplace_back(y);
}
}
void dfs(int node) {
visited.set(node);
for (const auto &son : graph[node]) {
if (!visited[son]) {
dfs(son);
}
}
sorted.emplace_back(node);
}
void solve() {
for (int i = 1; i <= n; ++i) {
if (!visited[i]) {
dfs(i);
}
}
}
void write() {
reverse(sorted.begin(), sorted.end());
for (const auto &i : sorted) {
fout << i << ' ';
}
}
int main() {
read();
solve();
write();
return 0;
}