Cod sursa(job #186069)
Utilizator | adrian horia adrian69 | Data | 26 aprilie 2008 17:37:18 |
---|---|---|---|
Problema | Sortare topologica | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include<stdio.h>
FILE *g;
int n,m;
struct
{int b[50000];
}a[50000];
char viz[50000];
void df(int k)
{int i;
for(i=1;i<=n;i++)
if(a[k].b[i]==1&&viz[i]==0)
{fprintf(g,"%d ",i);
df(i);
}
}
int main()
{FILE *f;
fscanf(f,"%d %d",&n,&m);
int i;
for(i=0;i<m;i++)
{int x,y;
fscanf(f,"%d %d",&x,&y);
a[x].b[y]=1;
}
fprintf(g,"1 ");
df(1);
}