Pagini recente » Cod sursa (job #583245) | Cod sursa (job #1647226) | Cod sursa (job #1337793) | Cod sursa (job #2798677) | Cod sursa (job #289902)
Cod sursa(job #289902)
#include<fstream.h>
struct nod
{int inf;
nod *adr;
};
nod *a[50001],*p;
void ad(nod *&l,int n)
{nod* p;
p=new nod;
p->inf=n;
p->adr=l;
l=p;}
int i,x,y,n,m,gr[50001],s[50001];//complexitate O(N+M)
int main()
{ifstream f("sortaret.in");
ofstream g("sortaret.out");
f>>n>>m;
for(i=1;i<=n;++i)a[i]=0;
for(;m;--m)
{f>>x>>y;
++gr[y];
ad(a[x],y);}
for(x=1;x<=n;++x)
if(!gr[x]) s[++s[0]]=x;
for(i=1;i<=n;++i)
{p=a[s[i]];
while(p)
{y=p->inf;
--gr[y];
if(!gr[y]) s[++s[0]]=y;
p=p->adr;
}
}
for(i=1;i<=n;++i)
g<<s[i]<<' ';
return 0;
}