Cod sursa(job #904997)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 5 martie 2013 11:25:16
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<cstdio>
#include<vector>
using namespace std;
vector<int>v[50005];
int x,y,n,i,j,k,m;
bool viz[50005];

void df(int x)
{
	printf("%d ",x);
	for (j=0;j<v[x].size();j++) if (!viz[v[x][j]]) viz[v[x][j]]=true,df(v[x][j]);
}

int main()
{
	freopen("sortaret.in","r",stdin);
	freopen("sortaret.out","w",stdout);
	scanf("%d %d",&n,&m);
	for(i=1;i<=m;i++) scanf("%d %d",&x,&y),v[x].push_back(y);
	for(i=1;i<=n;i++) if (!viz[i]) df(i);
	return 0;
}