Cod sursa(job #158076)

Utilizator victorgigeaGigea Victor victorgigea Data 13 martie 2008 13:56:34
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#define FIN "sortaret.in"
#define FOUT "sortaret.out"
#define nmax 50000

int a[nmax+2][nmax+2],i,j,m,n,x,y;
int coada[nmax+2],first,last;

void in(int p)
{ last++;
  coada[last]=p;
}

int out()
{
 int tmp = last;
 --last;
 return coada[tmp];
}

void go(int p)
{
 int i;
 for(i=1;i<=n;i++)
      if(a[p][i]!=0) { go(i);
		      a[p][i]--;
		     }

  in(p);

}


int main()
{
 freopen(FIN,"rt",stdin);
 freopen(FOUT,"wt",stdout);
 scanf("%d%d",&n,&m);
 for(i=1;i<=m;i++)
      {	scanf("%d%d",&x,&y);
	++a[x][y];
      }

 go(1);
 for(i=1;i<=n;i++)
  printf("%d ",out());

 return 0;
}