Cod sursa(job #1220476)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 17 august 2014 14:48:34
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
 vector <int> v[50005];
 int n,m,sol[50005],use[50005],k;

 void DFS(int x)
 { int i;
     use[x]=1;

    for(i=0;i<v[x].size();i++)
     if (!use[v[x][i]]) DFS(v[x][i]);

    k++; sol[k]=x;
 }

int main()
{ int i,x,y;
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
       f>>x>>y;
       v[x].push_back(y);
    }

    for(i=1;i<=n;i++)
     if (!use[i]) DFS(i);

   for(i=n;i>=1;i--)
    g<<sol[i]<<" ";
    return 0;
}