Pagini recente » Cod sursa (job #1055840) | Cod sursa (job #357579) | Cod sursa (job #1556331) | Cod sursa (job #292456) | Cod sursa (job #798843)
Cod sursa(job #798843)
#include <cstdio>
#include <vector>
vector <int> g[50001], o;
int n, m, viz[50001];
void citire()
{
int x,y;
scanf("%d %d\n",&n,&m);
for(int i=0;i<m;i++)
{
scanf("%d %d\n",&x,&y);
g[x].push_back(y);
}
}
void adancime(int v)
{
for(int j=0;j<g[v].size();j++)
{
int q=g[v][j];
if(!viz[q])
{
viz[q]=1;
adancime(q);
}
}
o.push_back(v);
}
void vizitare()
{
for(int i=1;i<=n;i++)
{
if(!viz[i])
{
viz[i]=1;
adancime(i);
}
}
}
void afisare()
{
while(!o.empty())
{
printf("%d ",o.back());
o.pop_back();
}
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
citire();
vizitare();
afisare();
return 0;
}