Mai intai trebuie sa te autentifici.

Cod sursa(job #2487453)

Utilizator gabbie02Thomits Gabriel gabbie02 Data 4 noiembrie 2019 19:46:17
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <list>

using namespace std;

int main()
{
	ifstream fin("sortaret.in");
	ofstream fout("sortaret.out");
	list<unsigned int> * adjlist;
	list<unsigned int> q;
	unsigned int * indeg;
	unsigned int v, i, j;
	fin >> v >> i;
	indeg = new unsigned int[v + 1]();
	adjlist = new list<unsigned int>[v + 1];
	while(fin >> i >> j){
		adjlist[i].push_back(j);
		indeg[j]++;
	}
	for(i = 1; i <= v; i++){
		if(indeg[i] == 0){
			q.push_back(i);
		}
	}
	while(q.size()){
		i = q.front();
`		q.pop_front();
		fout << i << " ";
		for(list<unsigned int>::iterator it = adjlist[i].begin(); it != adjlist[i].end(); it++){
			if(--indeg[*it] == 0){
				q.push_back(*it);
			}
		}
	}
	return 0;
}