Cod sursa(job #2406893)

Utilizator pasoi_stefanPasoi Stefan pasoi_stefan Data 16 aprilie 2019 12:22:43
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");

int n,m;
int dint[50005];
int viz[50005];

vector<int> G[50005];
vector<int> sol;

void DFS(int nod){

  viz[nod]=1;
  for(int i=0;i<G[nod].size();i++)
    if(!viz[G[nod][i]])
      DFS(G[nod][i]);

  sol.push_back(nod);

}

int main(){

  cin>>n>>m;
  for(int i=1;i<=m;i++){

      int x,y;
      cin>>x>>y;

      ++dint[y];
      G[x].push_back(y);

  }

  for(int i=1;i<=n;i++)
    if(!viz[i])
      DFS(i);

    for(int i=sol.size()-1;i>=0;i--)
      cout<<sol[i]<<' ';

}