Cod sursa(job #410231)

Utilizator cartkidPostolache Florin cartkid Data 4 martie 2010 10:44:15
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");

int n,m,v[101][101],w[101];

void citire()
{
	f>>n>>m;
	for(int i=1;i<=m;i++)
	{
		int a,b;
		f>>a>>b;
		v[a][b]=1;
	}
}

int grad(int x)
{
	int gr=0;
	for(int i=1;i<=n;i++)
		gr+=v[i][x];
	return gr;
}

int afisate=0;

void afisare()
{
	while(afisate<n)
	{
		for(int i=1;i<=n;i++)
		{
			if(w[i]==0)
			{
				g<<i<<" ";
				afisate++;
				w[i]--;
			}
			else w[i]--;
		}
	}
}

void fa_grad()
{
	for(int i=1;i<=n;i++)
		w[i]=grad(i);
}

int main()
{
	citire();
	fa_grad();
	afisare();
}