Pagini recente » Cod sursa (job #2463053) | Cod sursa (job #1304473) | Cod sursa (job #2567745) | Cod sursa (job #501629) | Cod sursa (job #1881938)
#include <bits/stdc++.h>
#define nmax 100001
using namespace std;
vector <int> v[nmax];
vector <int> postordine;
int viz[nmax];
void DFS(int x)
{
int i;
viz[x]=1;
for (i=0;i<v[x].size();++i)
{
if (!viz[v[x][i]])
DFS(v[x][i]);
}
postordine.push_back(x);
}
int main()
{
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int i, j, a, b, n, m;
f >> n >> m;
for (i=1;i<=m;++i)
{
f >> a >> b;
v[a].push_back(b);
}
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;
}