Pagini recente » Cod sursa (job #294287) | Cod sursa (job #2120859) | Cod sursa (job #1347021) | Cod sursa (job #3170886) | Cod sursa (job #404266)
Cod sursa(job #404266)
#include <stdio.h>
#define MAX 50001
struct adat{
int x;
adat *next;
};
int n,m,l[MAX],ll=0;
adat *a[MAX];
bool lattam[MAX];
void add(int x,int y){
adat *p;
p=new adat;
p->x=y;
p->next=a[x];
a[x]=p;
}
void tsort(int x){
if(!lattam[x]){
adat *p=a[x];
lattam[x]=1;
while(p!=0){
tsort(p->x);
p=p->next;
}
ll++;
l[ll]=x;
}
}
int main(){
freopen("sortare.in","r",stdin);
freopen("sortare.out","w",stdout);
int i,temp1,temp2;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d %d",&temp1,&temp2);
add(temp2,temp1);
}
for(i=1;i<=n;i++)tsort(i);
for(i=1;i<=n;i++)printf("%d ",l[i]);
return 0;
}