Cod sursa(job #2660454)

Utilizator denisa.iordacheIordache Denisa-Elena denisa.iordache Data 19 octombrie 2020 15:27:46
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <stack>
#include <vector>
using namespace std;

vector <int> L[50010];
int N, M, viz[50010];
stack <int> s;


void dfs(int nod)
{
    viz[nod]=1;
    for(auto i: L[nod])
        if(viz[i]==0)
            dfs(i);
    s.push(nod);
}




int main()
{
    ifstream f ("sortaret.in");
    ofstream g ("sortaret.out");
    f>>N>>M;
    int x,y;
    for (int i=0;i<M;i++)
    {
        f>>x>>y;
        L[x].push_back(y);
    }

    for (int i=1;i<=N;i++)

        if (!viz[i])
            dfs(i);



    for(int i=1;i<=N;i++)
        {g<<s.top()<<" ";
        s.pop();}
    return 0;
}