Pagini recente » Cod sursa (job #2405767) | Cod sursa (job #3236004) | Cod sursa (job #1167187) | Cod sursa (job #194681) | Cod sursa (job #906061)
Cod sursa(job #906061)
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod
{
int info;
nod *next;
};
nod *p,*l[50001],*t;
int x,y,i,j,n,nods,viz[50001],gr[50001],w,L[50001],niv,z,ga,ok,m,s[50001],k,pr;
int main()
{
fin>>n>>m;
for(i=1;i<=m;++i)
{
fin>>x>>y;
p=new nod;
p->info=y;
p->next=l[x];
l[x]=p;
viz[y]=1;
gr[y]++;
}
for(i=1;i<=n;++i)
if(viz[i]==0)
s[++k]=i;
for(i=1;i<=n;++i)
viz[i]=0;
i=1;
pr=1;
while(pr<=k)
{
x=s[pr++];
viz[x]=1;
L[++w]=x;
p=new nod;
p=l[x];
while(p)
{
if(viz[p->info]==0&&gr[p->info]-1==0)
{
s[++k]=p->info;
viz[p->info]=1;
gr[p->info]--;
}
gr[p->info]--;
p=p->next;
}
}
for(i=1;i<=n;++i)
fout<<L[i]<<" ";
return 0;
}