Cod sursa(job #2145205)

Utilizator aditzu7Adrian Capraru aditzu7 Data 27 februarie 2018 10:33:48
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");

struct nod{
int inf;
nod *urm;


}*l[50001];
int i,k,n,m,x,y,viz[50001],v[50001];
void adaug(nod *&p,int x){
nod *c;
c=new nod;
c->inf=x;
c->urm=p;
p=c;


}
void df(int i){
nod *c;
viz[i]=1;
for(c=l[i];c;c=c->urm){
    if(!viz[c->inf]) df(c->inf);


}
v[++k]=i;
}
int main()
{f>>n>>m;
 for(i=1;i<=m;i++){
    f>>x>>y;
    adaug(l[x],y);



 }
 for(i=1;i<=n;i++){
    if(!viz[i]) df(i);




 }

   for(i=k;i>=1;i--) g<<v[i]<<" ";

    return 0;
}