Cod sursa(job #1173062)

Utilizator ArchazeyBaltatu Andrei-Mircea Archazey Data 18 aprilie 2014 15:53:03
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<vector>
#include<bitset>
using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n,m,lista[50005];
vector<int>v[50005];
bitset<50005>viz;

inline int DFS(int x)
{
    int i,len;
    viz[x]=1;
    len=v[x].size();
    for (i=0;i<len;i++)
        if (!viz[v[x][i]])
            DFS(v[x][i]);
    lista[++lista[0]]=x;
}

inline void Citire()
{
    int i,x,y;
    fin>>n>>m;
    for (i=1;i<=m;i++)
        {
            fin>>x>>y;
            v[x].push_back(y);
        }
    for (i=1;i<=n;i++)
        if (!viz[i])
            DFS(i);
    for (i=lista[0];i>=1;i--)
        fout<<lista[i]<<" ";
}

int main()
{
    Citire();
    return 0;
}