Cod sursa(job #2662816)

Utilizator jungleTUDOSE MIHAI-CRISTIAN jungle Data 24 octombrie 2020 16:03:17
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

vector<vector<int>>graf(100001);
vector<bool>vizitat(100001);
vector<int>noduri;

void dfs(int nod)
{
    vizitat[nod] = true;
    int i;
    for(i=0; i<graf[nod].size(); i++)
    {
        if(!vizitat[graf[nod][i]])
        {
            dfs(graf[nod][i]);
        }
    }
    noduri.push_back(nod);
}

int main()
{
    int nr_varfuri,nr_arce,i,x,y;
    f>>nr_varfuri>>nr_arce;
    for(i=0; i<nr_arce; i++)
    {
        f>>x>>y;
        graf[x].push_back(y);
    }
    for(i=1; i<=nr_varfuri; i++)
    {
        if(!vizitat[i])
        {
            dfs(i);
        }
    }
    for(i=noduri.size()-1; i>=0; i--)
    {
        cout<<noduri[i]<<" ";
    }
    return 0;
}