Cod sursa(job #2404054)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 12 aprilie 2019 11:37:55
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

const int Dim = 5e4 + 5;

vector < int > G[Dim];
int n,m,g[Dim];
int sol[Dim],viz[Dim];

void Dfs(int x) {
	
	viz[x] = 1;
	for ( auto y : G[x])
		if ( !viz[y])
			Dfs(x);
	sol[++sol[0]] = x;
}


int main() {
	
	fin  >> n >> m;
	int x,y;
	for ( ; m > 0; --m) {
		fin >> x >> y;
		G[x].push_back(y);
	
	}
	for ( int i = 1; i <= n; ++i)
		if( !viz[i])
			Dfs(x);
	
	for ( int i = sol[0]; i >= 1; --i)
		fout << sol[i] << " ";
}