Cod sursa(job #740961)

Utilizator DianaDDiana Dr. DianaD Data 24 aprilie 2012 23:35:06
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream in ("sortaret.in");
ofstream out ("sortaret.out");

int n,m;
bool viz[100];
vector <int> a[100];

void citire ()
{
	int x,y;
	for (int i=0; i<m ; i++)
	{
		in>>x>>y;
		a[x].push_back(y);
	}
}

void dfs (int x)
{
	viz[x] = true;
	for (int i=0 ; i< (int) a[x].size() ; i++)
	{
		int y=a[x][i];
		if (!viz[y])
		{
			out<<y<<" ";
			dfs(y);
		}
	}	
}


int main ()
{
	in>>n>>m;
	citire();
	out<<"1 ";
	for (int i=1 ; i<=n ; i++)
	{
		if (!viz[i])
			dfs(i);
	}
	return 0;
}