Cod sursa(job #2570678)
Utilizator | Data | 4 martie 2020 18:28:47 | |
---|---|---|---|
Problema | Sortare topologica | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
#define N 100001
using namespace std;
array <vector <int>, N> G;
bitset <N> v;
list <int> F;
void dfs (int x) {
v[x]=1;
for (auto it: G[x])
if (!v[it])
dfs(it);
F.push_front(x);
}
int main () {
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int n, m, i, j;
fin >> n >> m;
for (; m; m--) {
fin >> i >> j;
G[i].push_back(j);
}
for (i=1; i<=n; i++)
if (!v[i])
dfs(i);
for (auto it: F)
fout << it << ' ';
return 0;
}