Pagini recente » Cod sursa (job #2753613) | Cod sursa (job #2780812) | Cod sursa (job #1153319) | Cod sursa (job #1929472) | Cod sursa (job #179524)
Cod sursa(job #179524)
#include <stdio.h>
#include <stdlib.h>
#define N 50010
int *cine[N],*cost[N],cati[N],vecini[N],n,m,L[N],nr,Q[N],nrq;
void scan(){
int i,x,y,c;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);nrq=n;
for (i=1;i<=m;++i){
scanf("%d%d",&x,&y);
++vecini[x];
}
fclose(stdin);
for (i=1;i<=n;++i){
cine[i]=(int*)malloc(vecini[x]+3);
Q[i]=i;
}
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1;i<=m;++i){
scanf("%d%d",&x,&y);
++cati[x];
cine[x][cati[x]]=y;
}
}
void t_sort(){
int i,x,y=1;
while(y<=nrq){
if (Q[y]!=-1){
x=Q[y];
++y;
++nr;
L[nr]=x;
for (i=1;i<=cati[x];++i)
if (cine[x][i]!=-1){
if (vecini[cine[x][i]]==0){
++nr;
Q[cine[x][i]]=-1;
L[nr]=cine[x][i];
}
--vecini[x];
cine[x][i]=-1;
}
}
else
++y;
}
}
void print(){
int i,j;
for (i=1;i<=n;++i)
printf("%d ",L[i]);
/*for (i=1;i<=n;++i){
for (j=1;j<=cati[i];++j)
printf("%d ",cine[i][j]);
printf("\n");
}*/
fclose(stdin);
fclose(stdout);
exit(0);
}
int main(){
scan();
t_sort();
print();
}