Cod sursa(job #2145228)

Utilizator mateibanuBanu Matei Costin mateibanu Data 27 februarie 2018 10:44:59
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;

#define NMAX 50010

vector<int>l[NMAX];
int viz[NMAX];
int n,m;

void df(int x){
    int i,nr;
    viz[x]=1;
    nr=l[x].size();
    for (i=0;i<nr;i++)
        if (!viz[l[x][i]]) df(l[x][i]);
    printf("%d ",x);
}

int main()
{
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);

    int x,y,i;
    scanf("%d%d",&n,&m);

    for (i=1;i<=m;i++){
        scanf("%d%d",&x,&y);
        l[y].push_back(x);
    }
    for (i=1;i<=n;i++)
        if (!viz[i]) df(i);
    return 0;
}