Cod sursa(job #170241)

Utilizator alle_forever13Alexandra Retegan alle_forever13 Data 2 aprilie 2008 16:13:44
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<stdio.h>

#define input "sortaret.in"
#define output "sortaret.out"

#define dim 50001

int n, cont, m, incep, a[dim][dim];

void citire();
void rez(int k);

FILE *in, *out;

int main()
{
	in = fopen (input, "r");
	out = fopen (output, "w");

	citire();

	rez(incep);

	return 0;

}

void citire()
{
	int i, j, x, y;

	fscanf(in, "%d%d", &n, &m);

	for(i=1; i<=m; i++)
	{
		fscanf(in, "%d%d", &x, &y);

		a[x][y] = 1;
	}

	for(i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
		{
			a[i][0] += a[i][j];
			a[0][i] += a[j][i];
		}

		if(a[0][i] ==0)

			 incep = i;

	}

}

void rez(int k)
{
	int i;

	fprintf(out, "%d ", k);
	cont++;

	for(i=1; i<=n; i++)

		if(a[k][i]==1)

			rez(i);



}