Cod sursa(job #2427328)

Utilizator TeshyTesileanu Alexandru Teshy Data 31 mai 2019 16:22:51
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>

#include <fstream>

#include <vector>

using namespace std;

ifstream f("sortaret.in");

ofstream g("sortaret.out");

vector< vector < int > >graf;

vector < int > viz;

int n,m;

void DFS(int nod)

{

    viz[nod]=1;

    int lim = graf[nod].size();

    for(int i=0; i<lim; i++)

    {

        int vecin = graf[nod][i];

        if(viz[vecin] == 0)DFS(vecin);

    }

    g<<nod<<" ";

}

int main()

{



    f>>n>>m;

    graf.resize(n+1);

    viz.resize(n+1,0);

    int i;

    for(i=1; i<=m; i++)

    {

        int x,y;

        f>>x>>y;

        graf[y].push_back(x);

    }

    for(i=1;i<=n;i++)

    {

        if(viz[i]==0)

        {

            DFS(i);

        }

    }

    return 0;

}