Pagini recente » Cod sursa (job #1053951) | Cod sursa (job #807929) | Cod sursa (job #1640739) | Cod sursa (job #1916890) | Cod sursa (job #2710215)
#include <iostream>
#include <vector>
using namespace std;
// Sortare topologica
void parcurge(short index, vector<vector<short>> &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<short>> 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;
}