Cod sursa(job #538265)

Utilizator GaborGabrielFMI - GabrielG GaborGabriel Data 20 februarie 2011 23:04:42
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream.h>
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,Matrice[101][101],gri[100];

int max(int i)
{
	int suma=0;
	for(int j=1;j<=n;j++)
		if(Matrice[j][i]==1)
			suma++;
		return suma;
}

void cautazero()
{	
	int i=1;
	while(i!=n)
	{
		if(gri[i]==0)
		{
			for(int j=1;j<=n;j++)
				if(Matrice[i][j]==1)
					gri[j]-=1, Matrice[i][j]=0;
			gri[i]=-1;
			g<<i;
		}
		i++;
	}
}

void afismatrice()
{
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
			g<<Matrice[j][i];
		g<<"\n";
	}
}

int main()
{
	int i,j,x,y;	
	f>>n>>m;
	for(i=1;i<=m;i++)
	{
		f>>x>>y;	
		Matrice[x][y]=1;				
	}	
	for(i=1;i<=n;i++)
		gri[i]=max(i);
	int nr=0;
	while(nr!=n)
	{
		cautazero();		
		nr++;
	}
}