Cod sursa(job #2132356)

Utilizator Cristian.BBurghelea Cristian Cristian.B Data 15 februarie 2018 18:34:36
Problema Sortare topologica Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");

int m[50000][10737 ];
int v[50005],c[50005],n,p,i,j,k,x,a,b;
int main()
{
    fin>>n>>p;
    for(i=1;i<=p;++i){fin>>a>>b;
                      m[a][b]=1;
                      ++v[b];}
    for(i=1;i<=n;++i)
        if(!v[i])c[++k]=i;
    for(i=1;i<=k;++i)
        {x=c[i];
         for(j=1;j<=n;++j)
             if(m[x][j]==1){--v[j];
                            if(!v[j])c[++k]=j;}
        }
    for(i=1;i<=k;++i)fout<<c[i]<<' ';

    fin.close();fout.close();
    return 0;
}