Pagini recente » Cod sursa (job #1799040) | Cod sursa (job #3003428) | Cod sursa (job #3259570) | Cod sursa (job #1184768) | Cod sursa (job #2711586)
#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]) {
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;
}