Pagini recente » Cod sursa (job #814312) | Cod sursa (job #231304) | Cod sursa (job #2361022) | Cod sursa (job #305504) | Cod sursa (job #2710221)
#include <iostream>
#include <vector>
using namespace std;
// Sortare topologica
void parcurge(int index, vector<vector<int>> &nodes) {
if (nodes[index].empty() || nodes[index].back() != -1) {
for (; nodes[index].size(); nodes[index].pop_back())
parcurge(nodes[index].back(), nodes);
printf("%d ", index);
nodes[index].push_back(-1);
}
}
int main() {
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
int n, m, x, y;
scanf("%d %d", &n, &m);
vector<vector<int>> nodes(n + 1);
while (m--) {
scanf("%d %d", &x, &y);
nodes[y].push_back(x);
}
for (x = 1; x <= n; x++)
parcurge(x, nodes);
return 0;
}