Cod sursa(job #2927518)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 20 octombrie 2022 19:15:40
Problema Sortare topologica Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include<fstream>
#include<deque>


using namespace std;

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

int n, m, a[5001][5001], vizitat[500001];
deque<int> v;

void citire()
{
    int x, y;
    fin >> n >> m;
    for(int i = 1; i <=m; i++)
    {
        fin >> x >> y;
        a[x][y] ++;
    }
}

void dfs(int nod)
{
    vizitat[nod] = 1;
    for(int i = 1; i<=n;i++)
    {
        if(a[nod][i] == 1 && !vizitat[i])
        {
            dfs(i);
        }
    }
    v.push_back(nod);
}


int main()
{
    citire();
    for(int i = 1; i <= n; i++)
    {
        if(!vizitat[i]) dfs(i);
    }
    while(!v.empty())
    {
        fout << v.back() << " ";
        v.pop_back();
    }
    return 0;
}