Cod sursa(job #808191)

Utilizator zeeboBuzatu Vlad zeebo Data 6 noiembrie 2012 14:42:21
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <vector>
#define pb push_back
using namespace std;

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

vector <int> G[50001];
int nr,v[50001],x,y,n,m,i;
bool sel[50001];

void df (int nod)
{
    sel[nod]=true;
    for (vector <int> :: iterator it=G[nod].begin();it!=G[nod].end();it++)
       if (!sel[*it])
         df(*it);
v[++nr]=nod;
}
int main()
{
   f>>n>>m;
   for (i=1;i<=m;i++)
   {
       f>>x>>y;
       G[x].pb(y);
   }

for (i=1;i<=n;i++)
    if (!sel[i]) df(i);
for (i=n;i>=1;i--)
     g<<v[i]<<' ';
return 0;
}