Cod sursa(job #2214510)

Utilizator alexsandulescuSandulescu Alexandru alexsandulescu Data 19 iunie 2018 11:51:52
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

int N, M, x, y, visit[50003];
vector<int> G[50003];
deque<int> Q;

void df(int x) {
    visit[x] = true;
    for(int i = 0; i < G[x].size(); i++)
        if(!visit[G[x][i]]) df(G[x][i]);
    Q.push_back(x);
}
int main()
{
    f >> N >> M;
    for(int i = 1; i <= M; i++) {
        f >> x >> y;
        G[x].push_back(y);
    }
    for(int i = 1; i <= N; i++)
        if(!visit[i])
            df(i);
    while(!Q.empty()) {
        g << Q.back() << " ";
        Q.pop_back();
    }
    g << "\n";
    return 0;
}