Cod sursa(job #1770972)

Utilizator ajeccAjechiloae Eugen ajecc Data 5 octombrie 2016 08:31:54
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
const int NMAX = 50001;

vector<int> graf[NMAX];
stack<int> coada;
bool viz[NMAX];

void dfs(int nod)
{
   viz[nod] = 1;
   for(auto i: graf[nod])
      if(!viz[i])
         dfs(i);
   coada.push(nod);
}

int main()
{
   int n, m;
   fin>>n>>m;

   for(int i = 1; i <= m; i++)
   {
      int a, b;
      fin>>a>>b;
      graf[a].push_back(b);
   }

   for(int i = 1; i <= n; i++)
      if(!viz[i])
         dfs(i);

   while(!coada.empty())
   {
      fout<<coada.top()<<' ';
      coada.pop();
   }

   return 0;
}