Cod sursa(job #2816343)

Utilizator alextmAlexandru Toma alextm Data 11 decembrie 2021 11:49:54
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

const int MAXN = 50001;

int viz[MAXN];
vector<int> G[MAXN];
stack<int> st;

static inline void dfs(int node) {
	viz[node] = 1;
	for(auto nxt : G[node])
		if(!viz[nxt])
			dfs(nxt);
	st.push(node);
}

int main() {
	int n, m, x, y;
	
	fin >> n >> m;
	for(int i = 1; i <= m; i++) {
		fin >> x >> y;
		G[x].push_back(y);
	}
	
	for(int i = 1; i <= n; i++)
		if(!viz[i])
			dfs(i);
	
	while(!st.empty()) {
		fout << st.top() << " ";
		st.pop();
	}
	
	return 0;
}