Cod sursa(job #2326450)

Utilizator andaraluca2001Anda Epure andaraluca2001 Data 23 ianuarie 2019 16:01:36
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
int n,m,x,y,nr,stop[500001];

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

vector<int>a[50005];
bool viz[50005];


void dfs(int x)
{

  viz[x]=true;

  for(int i=0;i<a[x].size();i++)
  {
int y = a[x][i];

     if(!viz[y]) dfs(y);

  }

  stop[++nr]=x;
}
int main()
{
    in>>n>>m;

    for(int i=1;i<=m;i++)
    {
     in>>x>>y;
     a[x].push_back(y);

    }

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

      if(viz[i]==false ) dfs(i);

    }


    for(int i=nr;i>=1;i--) out<<stop[i]<<" ";
    return 0;
}