Cod sursa(job #275978)

Utilizator SoRReLLIftode Bogdan Marius SoRReLL Data 10 martie 2009 19:33:22
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include<fstream.h>
#include<iostream.h>

long n,m,k=1;
int a[50001][50001]={0},v[50001];

void citire()
{
     fstream in("sortaret.in",ios::in);
     in>>n;
     in>>m;
     for(long i=1;i<=m;i++)
             {
                          int x,y;
                          in>>x;
                          in>>y;
                          a[x][y]=1;
             }
     in.close();
}

void scriere()
{
     fstream out("sortaret.out",ios::out);
     for(long i=1;i<=n;i++)
             out<<v[i]<<" ";
     out.close();
}

void sortaret(long poz)
{
     for(long i=1;i<=n;i++)
              if(a[poz][i])
                           {
                                          k++;
                                          v[k]=i;
                                          sortaret(i);
                           }
}

int main()
{    
    citire();
    v[1]=1;
    sortaret(1);
    scriere();
    return 0;
}