Cod sursa(job #3211250)

Utilizator Costi2mFulina Costin Costi2m Data 8 martie 2024 20:12:57
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

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

int N, src, gradI[500001];
vector<int> v[500001];
queue<int> q;

void sortT()
{
    for(int i=1; i<=N; i++)
        if(!gradI[i]) 
            q.push(i);
    
    while(!q.empty())
    {
        int nod = q.front();
        q.pop();
        for(int element: v[nod])
        {
            if(--gradI[element]==0) q.push(element);
        }
        fout << nod << " ";
    }
}

int main()
{
    int M, src;
    fin >> N >> M;
    for(int i=1; i<=M; i++)
    {
        int x, y;
        fin >> x >> y;
        gradI[y]++;
        v[x].push_back(y);
    }
    sortT();
    return 0;
}