Pagini recente » Cod sursa (job #808373) | Cod sursa (job #1613763) | Cod sursa (job #2578878) | Cod sursa (job #1007861) | Cod sursa (job #145172)
Cod sursa(job #145172)
#include <stdio.h>
#define DIM 50001
struct nod {
int inf;
nod *urm;
};
int i,j,nr,n,m,x,y;
int v[DIM],t[DIM];
nod *p[DIM];
int s[DIM];
nod *q;
void parc(int k){
nod *q;
v[k]=1;
q=p[k];
while (q!=NULL) {
if (v[q->inf]!=1)
parc(q->inf);
q=q->urm;
}
s[++nr] = k;
}
int main(){
FILE *f = fopen("sortaret.in","r");
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++)
p[i]=NULL;
for (i=1;i<=m;i++) {
fscanf(f,"%d %d",&x,&y);
t[y]=1;
q = new nod;
q->inf = y;
q->urm=p[x];
p[x]=q;
/* q = new nod;
q->inf = x;
q->urm=p[y];
p[y]=q;*/
}
nr=0;
for (i=1;i<=n;i++)
if (t[i]==0)
parc(i);
FILE *g = fopen("sortaret.out","w");
for (i=nr;i>=1;i--)
fprintf(g,"%d ",s[i]);
fclose(g);
return 0;
}