Cod sursa(job #2573619)

Utilizator dumitrustefania1DUMITRU STEFANIA dumitrustefania1 Data 5 martie 2020 18:24:00
Problema Sortare topologica Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#include <cstring>
# define pb push_back
#define nmax 50000
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");

int n,m,x,y,dg[nmax],i,nod,vec;
vector<int >v[nmax],sol;
queue <int> q;


int main()
{f>>n>>m;
for(i=1;i<=m;i++)
{
     f>>x>>y;
     v[x].pb(y);
     dg[y]++;
}
for(i=1;i<=n;i++)
    if(dg[i]==0)
    q.push(i);

    while(!q.empty())
   {
       nod=q.front();
       sol.pb(nod);
       q.pop();
       for(i=0;i<v[nod].size();i++)
       {
           vec=v[nod][i];
           dg[vec]--;
           if(!dg[vec])
            q.push(vec);
       }
   }

   for(i=0;i<sol.size();i++)
    g<<sol[i]<<" ";



    return 0;
}