Cod sursa(job #3262396)

Utilizator andrei0925Andrei Perdevara andrei0925 Data 10 decembrie 2024 09:03:28
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <queue>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m,a,b,in[50005],acc;
vector <int> G[50005];
queue<int>q;
int main()
{
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        fin>>a>>b;
        G[a].push_back(b);
        in[b]++;
    }
    for(int i=1;i<=n;i++)
        if(in[i]==0)
            q.push(i);
    while(q.size())
    {
        acc=q.front();
        q.pop();
        fout<<acc<<' ';
        for( auto e : G[acc])
        {
            in[e]--;
            if(in[e]==0)
                q.push(e);
        }
    }
    return 0;
}