Cod sursa(job #2424138)

Utilizator qusyNastase Alexandru qusy Data 22 mai 2019 17:52:37
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include "libraries.h"
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n, m, grad[1001], sol[10001];
vector<int> v[10001];
int main()
{
	int i, ii, ind = 1, x, y;
	fin >> n >> m;
	for (i = 1; i <= m; i++)
	{
		fin >> x >> y;
		v[y].push_back(x);
		grad[x]++;
	}
	for (i = 1; i <= n; i++)
	{
		if (grad[i] == 0)
		{
			sol[ind] = i;
			ind++;
		}
	}
	for (ii = 1; ii < ind; ii++)
	{
		i = sol[ii];
		for (int j = 0; j < v[i].size(); j++)
		{
			grad[v[i][j]]--;
			if (grad[v[i][j]])
			{
				sol[ind] = v[i][j];
				ind++;
			}
		}
	}
	for (int j = 1; j <= n; j++)
		fout << sol[j] << ' ';
	system("pause");
}