Cod sursa(job #2060386)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 8 noiembrie 2017 09:58:14
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
#define DIM 50001
using namespace std;

ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int n,m,i,x,y,v[DIM],g[DIM],sol[DIM],k;
vector <int> L[DIM];
void dfs (int nod){
    v[nod] = 1;
    for (int i=0;i<L[nod].size();i++){
        int vecin = L[nod][i];
        if (v[vecin] == 0)
            dfs (vecin);
    }

    sol[++k] = nod;

}

int main (){

    fin>>n;
    for (i=1;i<=m;i++){
        fin>>x>>y;
        L[x].push_back (y);
        g[y]++;
    }
    for (i=1;i<=n;i++)
        if (g[i] == 0)
            dfs (i);

    for (i=1;i<=k;i++)
        fout<<sol[i]<<" ";





    return 0;
}