Cod sursa(job #212758)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 6 octombrie 2008 19:33:16
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<stdio.h>
#define NMAX 50005

int n,m;

typedef struct nod{
        int vf;
        nod *next;
} *Nod, NOD;

Nod L[NMAX];
Nod adresa;

void adauga(int i,int j){
	Nod p=new NOD;
	p->vf=j;
    p->next=L[i];
    L[i]=p;
}

void intrare( int nod ){
	Nod p=new NOD;
	p->vf=nod;
	p->next=adresa;
	adresa=p;
}

void parcurgere(int nod){
	for(Nod p=L[nod];p;p=p->next )
		parcurgere(p->vf);
	intrare(nod);
}

int main(){
    int X,Y,i;
	freopen("sortaret.in","r",stdin);
	freopen("sortaret.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(;m>0;m--){
		scanf("%d%d",&X,&Y);
		adauga(X,Y);
	}
	for(i=1;i<=n;++i)
		parcurgere(i);
	for(Nod p=adresa;p;p=p->next)
		printf( "%d ", p->vf );
	return 0;
}