Pagini recente » Cod sursa (job #2103702) | Monitorul de evaluare | Cod sursa (job #2753072) | Cod sursa (job #2005271) | Cod sursa (job #286972)
Cod sursa(job #286972)
#include<stdio.h>
int n, a[1500][1500], nrp[1500];
void citire();
void bfs();
int main(){
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
citire();
bfs();
return 0;
}
void citire(){
int m,x,y;
scanf("%d%d",&n,&m);
while(m--){
scanf("%d%d",&x,&y);
a[x][++a[x][0]]=y;
++nrp[y];
}
}
void bfs(){
int i, x, y, p=1, u=0, coada[1500];
for(i=1;i<=n;++i)
if(nrp[i]==0){
coada[++u]=i;
printf("%d ",i);
}
while(p<=u){
x=coada[p++];
for(i=1;i<=a[x][0];++i){
y=a[x][i];
--nrp[y];
if(nrp[y]==0){
coada[++u]=y;
printf("%d ",y);
}
}
}
}