Pagini recente » Statistici Spinu Andrei (iAqua) | Cod sursa (job #3344565) | Cod sursa (job #530749) | Monitorul de evaluare | Cod sursa (job #3344585)
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int maxn = 100005;
vector<int> g[maxn];
bitset<maxn> parent;
bitset<maxn> viz;
int n, m;
void dfs(int nod) {
viz[nod] = true;
out << nod << " ";
for (int vecin : g[nod])
if (!viz[vecin])
dfs(vecin);
}
int main() {
in >> n >> m;
for (int i = 1; i <= m; ++i) {
int x, y;
in >> x >> y;
g[x].push_back(y);
parent[y] = true;
}
for (int i = 1; i <= n; ++i)
if (!parent[i] && !viz[i])
dfs(i);
return 0;
}