Cod sursa(job #993134)

Utilizator cont_de_testeCont Teste cont_de_teste Data 3 septembrie 2013 12:43:49
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;


const int MAX = 100100;

int n, m;
vector<int> g[MAX];

int soln[MAX];


void read() {
	ifstream fin("sortaret.in");
	fin >> n >> m;
	for (int i = 1; i <= m; ++i) {
		int x, y;
		fin >> x >> y;
		g[x].push_back(y);
	}
}


bool vis[MAX];

inline void sortop(const int &node) {
	for (auto i: g[node]) {
		if (!vis[i])
			sortop(i);
	}
	soln[++soln[0]] = node;
}


inline void write() {
	ofstream fout("sortaret.out");
	for (int i = soln[0]; i >= 1; --i)
		fout << soln[i] << ' ';
}


int main() {
	read();
	sortop(1);
	write();
}