Cod sursa(job #1207351)

Utilizator avalalexandra aval Data 12 iulie 2014 20:05:37
Problema Sortare topologica Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include<fstream>
using namespace std;
long a[100002][5],v[50005],c[50005];
int main()
{ int n,m,x,y,i,j,sf=0;
    ifstream f("sortaret.in");
    ofstream g("sortaret.out");
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        a[i][1]=x;a[i][2]=y;
       v[x]+=1;
    }
  for(i=1;i<=n;i++)
    if(v[i]==0)
     {
         sf=sf+1;
         c[sf]=i;
     }
  for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
           if(a[j][2]==c[i])
             {v[a[j][1]]-=1;
              if(v[a[j][1]]==0)
                {sf=sf+1;c[sf]=a[j][1];}

                }

    }
    for(i=n;i>=1;i--)
    {
        g<<c[i]<<" ";
    }
    f.close();
    g.close();
    return 0;
}