Cod sursa(job #1751573)

Utilizator serban_andreiserban andrei-catalin serban_andrei Data 1 septembrie 2016 16:09:19
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>

#define nmax 50014

using namespace std;

int n,m,x,y,grext[nmax],i;

vector<int>gr[nmax];

queue<int>q;

int main()
{


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

    f>>n>>m;

    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        gr[x].push_back(y);
        grext[y]++;

    }
    for(i=1;i<=n;i++)
        if(grext[i]==0)
           q.push(i);
    while(q.empty()==0)
    {
        int nod=q.front();
        g<<nod<<' ';
        q.pop();
        for(auto vecin:gr[nod])
        {
            grext[vecin]--;
            if(grext[vecin]==0)
            {
                q.push(vecin);
            }

        }
    }

return 0;


}