Cod sursa(job #2887368)

Utilizator bluestorm57Vasile T bluestorm57 Data 9 aprilie 2022 14:24:42
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

const int NMAX = 5e4 + 10;
bool viz[NMAX];
int was[NMAX];
vector < int > v[NMAX];
vector < int > vans;

void dfs(int node) {
	viz[node] = 1;
	for (auto it : v[node]) {
		if (viz[it]) continue;
		dfs(it);
	}
	vans.push_back(node);
}

int main() {	
	ifstream f("sortaret.in");
	ofstream g("sortaret.out");

	int  n, m;	
	f >> n >> m;
	while (m--) {
		int x, y;
		f >> x >> y;
		v[x].push_back(y);
		was[y]++;
	}

	for (int i = 1; i <= n; i++)
		if (!was[i])
			dfs(i);
	
	reverse(vans.begin(), vans.end());
	for (auto it : vans)
		g << it << " ";



	return 0;
}