Pagini recente » Cod sursa (job #1311198) | Cod sursa (job #2366256) | Cod sursa (job #2975057) | Cod sursa (job #1646682) | Cod sursa (job #312457)
Cod sursa(job #312457)
#include<fstream.h>
ifstream f("sortaret.in");
ofstream g("sortaret.out");
#define Nmax 50010
int n,m,viz[Nmax],sol[Nmax],k;
struct elem
{
int inf;
elem *urm;
}*a[Nmax];
void citire()
{
f>>n>>m;
for(int i=0;i<m;i++)
{
int x,y;
f>>x>>y;
elem *p=new elem;
p->inf=y;
p->urm=a[x];
a[x]=p;
}
}
void parcurg(int vf)
{
viz[vf]=1;
for(elem *p=a[vf];p;p=p->urm)
if(viz[p->inf]==0)
parcurg(p->inf);
sol[k++]=vf;
}
int main()
{
citire();
for(int i=1;i<n;i++)
if(viz[i]==0)
parcurg(i);
for(int i=k-1;i>=0;i--)
g<<sol[i]<<" ";
g.close();
return 0;
}