Cod sursa(job #2533601)

Utilizator mihailrazMihail Turcan mihailraz Data 29 ianuarie 2020 13:59:37
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
const int nmax=5e4;
int n, m, nr;
int viz[nmax+5], post[nmax+5];
vector <int> G[nmax+5];

void dfsp(int nod)
{
    viz[nod]=1;
    for(auto vec:G[nod])
        if(!viz[vec])
            dfsp(vec);
    post[++nr]=nod;
}

int main()
{
    fi>>n>>m;
    for(int i=1; i<=m; i++)
    {
        int x, y;
        fi>>x>>y;
        G[x].push_back(y);
    }
    for(int i=1; i<=n; i++)
        if(!viz[i])
            dfsp(i);
    for(int i=n; i>=1; i--)
        fo<<post[i]<<" ";
    fi.close();
    fo.close();
    return 0;
}