Pagini recente » Cod sursa (job #2555034) | Cod sursa (job #484355) | Cod sursa (job #523083) | Cod sursa (job #2208670) | Cod sursa (job #2324682)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector <int> l[50001];
bitset <50001> viz;
int n, m, sol[50001], len;
void citire()
{
int i, x, y;
fin >> n >> m;
len = n;
for(i = 1 ; i <= m ; i++)
{
fin >> x >> y;
l[x].push_back(y);
}
}
void dfs(int k)
{
viz[k] = 1;
for(auto i : l[k])
if(viz[i] == 0)
dfs(i);
sol[len--] = k;
}
void topsort()
{
for(int i = 1 ; i <= n ; i++)
if(viz[i] == 0)
dfs(i);
}
void afisare()
{
for(int i = 1 ; i <= n ; i++)
fout << sol[i] << " ";
}
int main()
{
citire();
topsort();
afisare();
fin.close();
fout.close();
return 0;
}