Cod sursa(job #2881637)

Utilizator NFJJuniorIancu Ivasciuc NFJJunior Data 30 martie 2022 18:10:41
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
const int Max = 5e4 + 1;

int n, m;
vector < int > adj[Max];
int indegree[Max];

int main()
{
	f >> n >> m;
	for(int i=1;i<=m;i++)
	{
		int x, y;
		f >> x >> y;
		adj[x].push_back(y);
		indegree[y] ++;
	}
	//	Priority_queue daca vreau sortarea sa fie minim(maxim);
	queue < int > coada;
	for(int i=1;i<=n;i++)
		if(indegree[i] == 0)
			coada.push(i);
	while(! coada.empty())
	{
		int nod = coada.front();
		coada.pop();
		sortaretg<<nod<<" ";
		for(auto it : adj[nod])
		{
			indegree[it] --;
			if(indegree[it] == 0)
				coada.push(it);
		}
	}
	return 0;
}