Cod sursa(job #1854241)

Utilizator ClaudiuHHiticas Claudiu ClaudiuH Data 22 ianuarie 2017 15:15:31
Problema Sortare topologica Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
//Sortare Topografica
#include <vector>
#include <fstream>
using namespace std;

#define nmax 50000

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n, m, viz[nmax], deg[nmax];
vector <int> G[nmax];

void rezolvare()
{
	for(int i = 1; i <= n; ++i)
	{
		for(int j = 1; j <= n; ++j)
			if(!viz[j] && deg[j] == 0)
			{
				viz[j] = 1;		fout << j << ' ';
				for(size_t k = 0; k < G[j].size(); ++k)
					deg[G[j][k]] --;
				break;
			}
	}
	
}


void citire()
{
	int a, b;
	fin >> n >> m;
	for(int i = 1; i <= m; ++i)
	{
		fin >> a >> b;
		G[a].push_back(b);
		deg[b]++;
	}
	
}

int main()
{
	citire();
	rezolvare();
}