Cod sursa(job #2404059)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 12 aprilie 2019 11:40:26
Problema Sortare topologica Scor 100
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;
int sol[Dim];
bool viz[Dim];

void Dfs(int x) {
	
	viz[x] = 1;
	for ( auto y : G[x])
		if ( !viz[y])
			Dfs(y);
	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(i);
	
	for ( int i = sol[0]; i >= 1; --i)
		fout << sol[i] << " ";
}