Cod sursa(job #1445764)

Utilizator ggokGeri Gokaj ggok Data 30 mai 2015 23:27:03
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;
vector< vector<int> >g;
int V,E,k,l;
bool visited[50001];
vector<int>sol;
 inline void dfs(int curr)
{
   // printf("%d ",curr);
   if(!visited[curr])
    sol.push_back(curr);
    visited[curr]=true;
    for(int j=0;j<g[curr].size();++j)
        if(!visited[g[curr][j]])
        dfs(g[curr][j]);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
    scanf("%d%d",&V,&E);
    g.resize(V+1);
    for(int i=0;i<E;++i)
    scanf("%d%d",&k,&l),g[k].push_back(l);
    for(int i=1;i<=V;i++)
        if(!visited[i])
            dfs(i);
for(int i=0;i<sol.size();i++)
    cout<<sol[i]<<" ";
    return 0;
}