Cod sursa(job #1926322)

Utilizator Manolache_MihaiManolache Mihai Manolache_Mihai Data 14 martie 2017 11:38:21
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
#include <vector>
#define NMAX 50001
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m,niv;
int di[NMAX],nivel[NMAX];
vector<int> A[NMAX];
void citire();
void desc();
int main()
{
    citire();
    desc();
    return 0;
}
void citire()
{
    int i,x,y;
    fin>>n>>m;
    for(i=1;i<=m;i++)
    {
        fin>>x>>y;
        A[x].push_back(y);
        di[y]++;
    }
}
void desc()
{
    int nr=n;
    int i,j;
    while(nr)
    {
        for(i=1;i<=n;i++)
        {
            if(di[i]==0&&nivel[i]==0)
            {
                nivel[i]=1;nr--;
                fout<<i<<' ';
                for(j=0;j<A[i].size();j++)
                    di[A[i][j]]--;
            }
        }
    }
}