Cod sursa(job #3366606)

Utilizator Diaconescu99Mihai Diaconescu Diaconescu99 Data 2 octombrie 2026 17:07:16
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");

int n,m,x,y,k;
int h[50005],v[100005],urm[100005],gr[50005],c[50005];

int main()
{
    f>>n>>m;

    for(int i=1;i<=m;i++)
    {
        f>>x>>y;

        k++;
        v[k]=y;
        urm[k]=h[x];
        h[x]=k;

        gr[y]++;
    }

    int st=1,dr=0;

    for(int i=1;i<=n;i++)
        if(gr[i]==0)
            c[++dr]=i;

    while(st<=dr)
    {
        x=c[st++];
        g<<x<<" ";

        for(int i=h[x];i!=0;i=urm[i])
        {
            y=v[i];
            gr[y]--;

            if(gr[y]==0)
                c[++dr]=y;
        }
    }

    return 0;
}