Pagini recente » Cod sursa (job #308129) | Cod sursa (job #521421) | Cod sursa (job #854068) | Cod sursa (job #405980) | Cod sursa (job #954820)
Cod sursa(job #954820)
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
const size_t MAXN = 50010;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> G[MAXN], sol;
int inD[MAXN];
int main()
{
int N, m;
for (fin >> N >> m; m; --m)
{
int x, y;
fin >> x >> y;
G[x].push_back (y);
inD[y]++;
}
for (int i = 1; i <= N; ++i)
if (!inD[i])
sol.push_back (i);
for (size_t i = 0; i < sol.size(); ++i)
{
int v = sol[i];
for (auto &n : G[v])
{
--inD[n];
if (!inD[n])
sol.push_back (n);
}
}
for (auto &v : sol)
fout << v << ' ';
fout << endl;
return EXIT_SUCCESS;
}