Pagini recente » Cod sursa (job #2659612) | Cod sursa (job #1030099) | Cod sursa (job #514138) | Rating Andreea Bran (brandreea) | Cod sursa (job #2529478)
#include <fstream>
#include <vector>
#include <stack>
std::vector<int> arce[50000];
bool vizitat[50000];
std::stack<int> stiva;
void dfs(int nod) {
vizitat[nod] = true;
for (const auto& succ : arce[nod]) {
if (!vizitat[succ]) {
dfs(succ);
}
}
stiva.push(nod);
}
int main() {
std::ifstream fin("sortaret.in");
std::ofstream fout("sortaret.out");
int n, m;
fin >> n >> m;
for (int i = 0; i < m; i++) {
int x, y;
fin >> x >> y;
x--; y--;
arce[x].push_back(y);
}
for (int i = 0; i < n; i++) {
if (!vizitat[i]) {
dfs(i);
}
}
while (!stiva.empty()) {
fout << stiva.top() + 1 << ' ';
stiva.pop();
}
return 0;
}