Cod sursa(job #2345538)

Utilizator Alex221Dumitru Alexandru Alex221 Data 16 februarie 2019 14:30:00
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 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;
  sortare[++t]=nod;
  for(int i=0;i<v[nod].size();i++)
    if(viz[v[nod][i]]==0)
       { viz[v[nod][i]]=1;
         dfs(v[nod][i]);
       }
}
int main()
{ f>>n>>m;
  for(i=1;i<=m;i++)
  { f>>x>>y;
    v[x].push_back(y);
  }
  for(i=1;i<=n;i++)
    if(viz[i]==0)
      dfs(i);
  for(i=1;i<=t;i++)
    g<<sortare[i]<<" ";
    return 0;
}