Cod sursa(job #3181244)

Utilizator cosmin395dimofte cosmin cosmin395 Data 6 decembrie 2023 18:47:24
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector <int> g[50001];
queue <int> q;
int n, m, nrnod[50001],i,x,y;
int main()
{
	cin >> n >> m;
	for (i = 1; i <= m; i++)
	{
		cin >> x >> y;
		g[x].push_back(y);
		nrnod[y]++;
	}
	for (i = 1; i <= m; i++)
		if (nrnod[i] == 0)
			q.push(i);

	while (!q.empty())
	{
		i = q.front();
		q.pop();
		for (auto var : g[i])
		{
			nrnod[var]--;
			if (nrnod[var] == 0)
				q.push(var);
		}
		cout << i<<' ';
	}

}