Cod sursa(job #496257)

Utilizator lucaz0rLuca Liviu lucaz0r Data 28 octombrie 2010 11:27:37
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#include <stdlib.h>
#include <fstream.h>
short m[3000][3000];
long N;
void cauta(int coloana) {
	int i;
	for (i=1; i<=N; i++) 
		if ( m[i][coloana] == 1) { printf("%d ",i); cauta(i);}
}	
	

int main()
{long i,j,k,M,t,x,y;
freopen ("sir.in", "r", stdin);
freopen ("sir.out", "w", stdout);
scanf ("%d %d",&N,&M);
k=0;
for (i=1; i<=N; i++)
	for (j=1; j<=N; j++)
		m[i][j]=0;
for (i=1; i<=M; i++)
	{scanf ("%d %d", &x, &y);
	m[y][x]=1;}
for (i=1; i<=N; i++)
	{k=0;
		for (j=1; j<=N; j++)
		if	(m[i][j]==1)
			k++;
		if (k==0)
			{t=i;
			break;}}
printf ("%d ",t);
cauta (t);

	
	
	return 0;
}