Cod sursa(job #3148439)

Utilizator AlexandruIoan20Moraru Ioan Alexandru AlexandruIoan20 Data 1 septembrie 2023 13:18:35
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include <vector>
using namespace std; 

ifstream cin("sortaret.in"); 
ofstream cout("sortaret.out"); 

int N, M; 
vector <int> g[50005], v, x; 

void citire() {
	v.resize(50005); 
	cin >> N >> M;
	int i, j;

	for (int k = 0; k < M; k++) {
		cin >> i >> j;
		g[i].push_back(j);
	};
}; 

void dfs(int nod) {
	v[nod] = 1;

	for (auto i : g[nod]) {
		if (!v[i]) {
			dfs(i);
		}
	};

	x.push_back(nod);
}; 



int main() {
	citire(); 

	for (int i = 1; i <= N; i++) {
		if (!v[i])
			dfs(i);
	};

	for (int i = x.size() - 1; i >= 0; i--) {
		cout << x[i] << ' ';
	}; 

	return 0; 
}