Cod sursa(job #2282998)

Utilizator radugnnGone Radu Mihnea radugnn Data 14 noiembrie 2018 20:36:46
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <vector>
#define DIM 50010
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int v[DIM],sol[DIM],frecv[DIM],n,m,x,y,i,q,k,j;
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>>m;
    for(i=1;i<=m;i++){
        fin>>x>>y;
        L[x].push_back(y);
        frecv[y]=1;
    }
    for(j=1;j<=n;j++)
        if(frecv[j]==0)
            dfs(j);

     for(i=n;i>=1;i--)
        fout<<sol[i]<<" ";
    return 0;
}