Cod sursa(job #2345543)

Utilizator Alex221Dumitru Alexandru Alex221 Data 16 februarie 2019 14:33:38
Problema Sortare topologica Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <bits/stdc++.h>
#define M 50000
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,sortare[M],i,j,x,y,t;
vector<int> v[M];
bool viz[M];
void dfs(int nod)
{ viz[nod]=1;

  for(int i=0;i<v[nod].size();i++)
    if(viz[v[nod][i]]==0)
         dfs(v[nod][i]);
         sortare[++t]=nod;
}
int main()
{ f>>n>>m;
  for(int i=1;i<=m;i++)
  { f>>x>>y;
    v[x].push_back(y);
  }
  for(j=1;j<=n;j++)
    if(viz[j]==0)
      dfs(j);
  for(int i=t;i>=1;i--)
    g<<sortare[i]<<" ";
    return 0;
}