Cod sursa(job #897184)

Utilizator erik95Scharscher Erik erik95 Data 27 februarie 2013 19:17:45
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream>
#include<fstream>
using namespace std;
int x,y,n,m,i,j,t[50001];
struct nod
	{int inf;
	nod*adr;}*v[50001],*p,*a;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void inserare(int x)
	{p=new nod;
	p->inf=x;
	p->adr=a;
	a=p;
	}
void DF(int x)
	{t[x]=1;
	for(p=v[x];p!=NULL;p=p->adr)
		if(!t[p->inf])
			DF(p->inf);
	inserare(x);
	}
int main()
{f>>n>>m;
for(i=1;i<=m;i++)
	{f>>x>>y;
	p=new nod;
	p->inf=y;
	p->adr=v[x];
	v[x]=p;
	}
for(i=1;i<=n;i++)
	if(!t[i])
		DF(i);
for(p=a;p!=NULL;p=p->adr)
	g<<p->inf<<" ";
}