Pagini recente » Monitorul de evaluare | Cod sursa (job #925417) | Cod sursa (job #2763612) | Monitorul de evaluare | Cod sursa (job #3338805)
#include <bits/stdc++.h>
int n, m;
std::ifstream fin("sortaret.in");
std::ofstream fout("sortaret.out");
std::vector<std::vector<int>> adj;
std::vector<bool> visited;
std::vector<int> result;
void DFS(int node) {
visited[node] = true;
for(int neighbor : adj[node]) {
if(!visited[neighbor]) {
DFS(neighbor);
}
}
fout << node << ' ';
}
int main() {
fin >> n >> m;
adj.resize(n + 1);
visited.resize(n + 1, false);
for(int i = 0; i < m; ++i) {
int x, y;
fin >> x >> y;
adj[y].push_back(x);
}
for(int i = 1; i <= n; ++i) {
if(!visited[i]) {
DFS(i);
}
}
return 0;
}