Pagini recente » Cod sursa (job #1437933) | Cod sursa (job #473322) | Cod sursa (job #966139) | Cod sursa (job #2308251) | Cod sursa (job #1879784)
#include <bits/stdc++.h>
using namespace std;
int viz[50001];
set <int> v[50001];
vector <int> postordine;
void DFS(int x)
{
viz[x]=1;
set <int>::iterator it;
for (it=v[x].begin();it!=v[x].end();++it)
if (!viz[*it])
DFS(*it);
postordine.push_back(x);
}
int main()
{
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int i, j, n, m;
f >> n >> m;
for (i=1;i<=m;++i)
{
f >> i >> j;
v[i].insert(j);
}
for (i=1;i<=n;++i)
if (!viz[i]) DFS(i);
vector <int>:: reverse_iterator it;
for (it=postordine.rbegin();it!=postordine.rend();++it)
g << *it << " ";
return 0;
}