Cod sursa(job #2186031)

Utilizator lupulescu2001Lupulescu Vlad lupulescu2001 Data 25 martie 2018 11:51:41
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<vector>

using namespace std;

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

vector <int> G[50003];
int N,M,Viz[50003],Sortare[50003],Dim;

int BFS(int Nod)
{
    Viz[Nod]=1;
    for(int i=0;i<G[Nod].size();i++)
    {
        if(!Viz[G[Nod][i]])
        {
            BFS(G[Nod][i]);
        }
    }
    Dim++;
    Sortare[Dim]=Nod;
}

int main()
{
    fin>>N>>M;
    for(int i=1;i<=M;i++)
    {
        int X,Y;
        fin>>X>>Y;
        G[X].push_back(Y);
    }
    for(int i=1;i<=N;i++)
    {
        if(Viz[i]==0)
        {
            BFS(i);
        }
    }
    for(int i=Dim;i>=1;i--)
        fout<<Sortare[i]<<" ";
}