Pagini recente » Cod sursa (job #1679925) | Cod sursa (job #2835334) | Cod sursa (job #88211) | Cod sursa (job #908997) | Cod sursa (job #280613)
Cod sursa(job #280613)
#include<fstream.h>
#define max 50005
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,v[max],s[max],k;
struct nod {int info;
nod *urm;
};
nod *r[max];
void adauga(int x,int y)
{nod *c;
c=new nod;
c->info=x;
c->urm=r[y];
r[y]=c;
}
void citire()
{int i,x,y;
f>>n>>m;
for(i=1;i<=m;i++)
{f>>x>>y;
adauga(y,x);
}
}
void df(int i)
{
nod *c=r[i];
v[i]=1;
while(c)
{if(v[c->info]==0) df(c->info);
c=c->urm;
}
s[++k]=i;
}
int main()
{int i;
citire();
for(i=1;i<=n;i++)
if(v[i]==0) df(i);
for(i=n;i>=1;i--)
g<<s[i]<<" ";
f.close();
g.close();
return 0;
}