Cod sursa(job #354275)

Utilizator bogdanacmDrutu Bogdan bogdanacm Data 7 octombrie 2009 16:58:42
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>
#include <vector>
#include <algorithm>

using namespace std;

#define NMAX 50001
#define pb push_back

vector <int> G[NMAX];
int N,M;
int viz[NMAX];

void DFS(int k)
{
	int i;
	viz[k]=1;
	for (i=0;i<G[k].size();i++)
		if(viz[G[k][i]])
			DFS(G[k][i]);
	printf("%d ",k);
}

int main()
{
	int i,j,a,b;
	
	freopen("sortaret.in","rt",stdin);
	freopen("sortaret.out","wt",stdout);
	
	scanf("%d %d",&N,&M);
	for (i=0;i<N;i++)
	{
		scanf("%d %d",&a,&b);
		G[a].pb(b);
	}
	for (i=1;i<=N;i++)
		if (!viz[i])
			DFS(i);
	return 0;
}