Cod sursa(job #872465)

Utilizator razvan9310FMI - Razvan Damachi razvan9310 Data 6 februarie 2013 03:32:22
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
#include <vector>
using namespace std;

vector<int> graf[50001];
int n, m; bool viz[500001];

void input()
{
	scanf("%d%d", &n, &m);
	int a, b, i;
	for (i=0; i<m; ++i)
	{
		scanf("%d%d", &a, &b);
		graf[a].push_back(b);
	}
}

void dfs(int nod)
{
	viz[nod] = 1;
	printf("%d ", nod);
	int i, l=graf[nod].size();
	for (i=0; i<l; ++i)
		if (!viz[graf[nod][i]])
			dfs(graf[nod][i]);
}

int main()
{
	freopen("sortaret.in", "r", stdin);
	freopen("sortaret.out", "w", stdout);
	input();
	for (int i=1; i<=n; ++i)
		if (!viz[i])
			dfs(i);
	return 0;
}