Pagini recente » Profil harababurel | Monitorul de evaluare | Rating UVT-BUTUNOI-CARTIS-CHEROIU-COZMA (UVT_CARTIS_ANDREI_IONUT) | Diferente pentru planificare/sedinta-20081107 intre reviziile 16 si 28 | Cod sursa (job #144469)
Cod sursa(job #144469)
#include<stdio.h>
struct nod{long int info;nod *next;};
nod *prim[50001],*pp;
long int n,m,i,a,b,gr[50001],bottom,top,coada[50001];
void pune(long int aa,long int bb);
int main()
{
FILE *f,*g;f=fopen("sortaret.in","r");g=fopen("sortaret.out","w");
fscanf(f,"%ld%ld",&n,&m);
for(i=1;i<=m;i++)
{ fscanf(f,"%ld%ld",&a,&b);pune(a,b);gr[b]++;}
for(i=1;i<=n;i++)
if(!gr[i]){top++;coada[top]=i;}
for(i=1;i<=n;i++)
{ pp=prim[i];
while(pp)
{ gr[pp->info]--;
if(!gr[pp->info]){top++;coada[top]=pp->info;}
pp=pp->next;
}
}
for(i=1;i<=n;i++)fprintf(g,"%ld ",coada[i]);
fprintf(g,"\n");
fcloseall();
return 0;
}
void pune(long int aa,long int bb)
{
nod *paux;
paux=new nod;
paux->info=bb;
if(!prim[aa]){paux->next=0;prim[aa]=paux;return;}
paux->next=prim[aa];prim[aa]=paux;
}