Cod sursa(job #2867570)

Utilizator tallianfranciskaFranciska Tallian tallianfranciska Data 10 martie 2022 13:53:27
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.32 kb
// topologikus sorr.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int n, m,i,a,b;

struct melys
{
	int be, lat;
	vector<int>sz;

};
vector<melys>x;
deque<int>v;
void mely(int csp)
{
	x[csp].lat = 1;
	for (auto& e : x[csp].sz)
		if (x[e].lat == 0)mely(e);
	v.push_front(csp);
}


int main()
{
	cin >> n >> m;
	x.resize(n + 1);
	for (i = 1; i <= m; ++i)
	{
		cin >> a >> b;
		x[a].sz.push_back(b);
		x[b].be++;

	}
	for (i = 1; i <= n; ++i)
	{
		if (x[i].be == 0)mely(i);
	}

	for (i = 0; i < v.size(); ++i)cout << v[i] << " ";

   return 0;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file