Cod sursa(job #1378735)

Utilizator ShinigamiOanta Marius Laurian Shinigami Data 6 martie 2015 13:57:52
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
int n,p[50005],ct=0;
vector<int> v[50005];
vector<int> viz;
void dfs(int nod)
{//v[nod][i] 
	int i;
	viz[nod] = 1;
	for (i = 0; i < v[nod].size(); i++)
	{
		if (viz[v[nod][i]] == 0)
		{
			dfs(v[nod][i]);
		}
		//p[i] = v[nod][i];
	}
	p[ct] = nod;
	ct++;
}

int main()
{
	int n,m,i,j,x,y;
	ifstream f("sortaret.in");
	ofstream g("sortaret.out");
	f >> n >> m;
	viz.assign(n + 1, 0);
	for (j = 0; j < m; j++)
	{
		f >> x >> y;
		v[x].push_back(y);
	}
	dfs(1);
	for (j = n-1; j >= 0; j--)
		g << p[j];
	f.close();
	g.close();
	cout << endl;
	return 0;
}