Cod sursa(job #2650218)

Utilizator dream3rDavid Pop dream3r Data 17 septembrie 2020 19:11:12
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
//#include "pch.h"
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <climits>
using namespace std;
ifstream f("sortaret.in");
ofstream o("sortaret.out");

vector<int>g[100005];
bool visited[100005];
int v, e;
int v8;
vector<int>ans(100005);
void dfs(int nod)
{
	visited[nod] = true;
	//o << nod << " ";
	for (size_t i = 0; i < g[nod].size(); i++)
	{
		if (visited[g[nod][i]] == false)
		{
			dfs(g[nod][i]);
		}
	}

	ans[v8--] = nod;
}


int main()
{
	f >> v >> e;
	v8 = v;
	for (size_t i = 0; i < e; i++)
	{
		int x, y;
		f >> x >> y;
		g[x].push_back(y);
	}
	for (size_t i = 1; i <= v; i++)
	{
		if (visited[i] == false)
		{
			dfs(i);
		}
	}

	for (size_t i = 1; i <= v; i++)
	{
		o << ans[i] << " ";
	}

}