Pagini recente » Cod sursa (job #1121627) | Cod sursa (job #1332713) | Cod sursa (job #750500) | Cod sursa (job #596727) | Cod sursa (job #2746343)
#include <fstream>
#include <vector>
int N;
std::vector<int> G[50001];
std::vector<int> S;
int viz[50001];
void dfs(int k) {
viz[k] = 1;
for (auto& nod : G[k]) {
if (viz[nod] == 0)
dfs(nod);
}
S.push_back(k);
}
int main() {
std::ifstream fin("sortaret.in");
std::ofstream fout("sortaret.out");
int M;
fin >> N >> M;
int x, y;
for (int i = 0; i < M; ++i) {
fin >> x >> y;
G[x].push_back(y);
}
fin.close();
for (int i = 1; i <= N; ++i) {
if (viz[i] == 0)
dfs(i);
}
for (auto&& it = S.rbegin(); it != S.rend(); ++it)
fout << *it << ' ';
fout << '\n';
return 0;
}