Cod sursa(job #2361153)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 2 martie 2019 13:25:29
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 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;
    sol.push_back(nod);
    for(auto it:v[nod])
    {
        if(!seen[it]) dfs(it);
    }

}
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[x].push_back(y);
    }


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

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


    return 0;
}