Pagini recente » Cod sursa (job #1012809) | Cod sursa (job #651315)
Cod sursa(job #651315)
#include<stdio.h>
#define NRNOD 100005
typedef struct Nod
{ int info;
struct Nod *next;
} Nod;
Nod *G[NRNOD];
int vizitat[NRNOD],N,M,k,sort[NRNOD];
void dfs(int x)
{
Nod *p;
vizitat[x]=1;
for(p=G[x];p;p=p->next)
if(!vizitat[p->info])
{dfs(p->info);}
sort[++k]=x;
}
int main()
{
FILE *intrare,*iesire;
int i,x,y;
intrare=fopen("sortaret.in","r");
iesire=fopen("sortaret.out","w");
fscanf(intrare,"%d %d",&n,&m);
for(i=1;i<=n;i++)
{
fscanf(intrare,"%d %d",&x,&y);
Nod *p,*q;
if(!(p=(Nod*)malloc(sizeof(Nod)))) return ;
p->info=y;
p->next=G[x];
G[x]=p;
}
for(i=1;i<=n;i++) if(vizitat[i]==0) dfs(i);
for(i=n;i>=1;i--) fprintf(iesire,"%d ",sort[i]);
return 0;
}