Cod sursa(job #2333903)

Utilizator aditzu7Adrian Capraru aditzu7 Data 2 februarie 2019 09:16:35
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
struct nod{
int inf;
nod *urm;



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


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

    }

}
 sol[++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=n;i>=1;i--)g<<sol[i]<<" ";

    return 0;
}