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