Cod sursa(job #2361156)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 2 martie 2019 13:26:59
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include<bits/stdc++.h>
using namespace std;


const int maxN=(5e4)+5;

int n,m,x,y;

vector<int> sol,v[maxN];

bool seen[maxN];

inline void dfs(int nod)
{
    seen[nod]=1;

    for(auto it:v[nod])
    {
        if(!seen[it]) dfs(it);
    }

     sol.push_back(nod);

}
int ex[maxN];
int main()
{
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);


    scanf("%d%d",&n,&m);

    for(int i=1;i<=m;i++)
    {
        scanf("%d%d",&x,&y);
        v[y].push_back(x);
        ex[x]=1;
    }


    for(int i=1;i<=n;i++)
        if(!ex[i]) dfs(i);

    for(auto it:sol)
        printf("%d ",it);


    return 0;
}