Cod sursa(job #912772)

Utilizator apopeid13Apopeid Alejandro apopeid13 Data 12 martie 2013 18:39:08
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
using namespace std;
struct nod{int n;nod *next;}*g[50001];
int n,m,v[100001],k,s[100001];
void citire()
{ifstream fin("sortaret.in");
int a,b,i;
     fin>>n>>m;
     for(i=1;i<=m;i++)
     {fin>>a>>b;
     nod *t=new nod;
     t->n=b;
     t->next=g[a];
     g[a]=t;}
     fin.close();}
void st(int i)
{v[i]=1;nod *p;
for(p=g[i];p;p=p->next)
if(v[p->n]==0)
st(p->n);
s[++k]=i;
     }
void afisare()
{   int i; ofstream fout("sortaret.out");
     for(i=k;i;i--)
     fout<<s[i]<<" ";
     fout.close();
     }
int main()
{int i;
    citire();
for(i=1;i<=n;i++)
if(v[i]==0)
st(i);
afisare();
     
    return 0;}