Cod sursa(job #1399137)

Utilizator 4ONI2015oni2015 4ONI2015 Data 24 martie 2015 16:26:25
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
vector<int>v[50005];
int x,y,sol[50005],cnt,n,m,gr[50005],i;
void df(int nod)
{
    sol[++cnt]=nod;
    for(auto it:v[nod])
        df(it);
}
int main()
{
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(;m;m--)
    {
        scanf("%d%d",&x,&y);
        v[x].pb(y);
        gr[y]++;
    }
    for(i=1;i<=n;i++)
        if(!gr[i])
            df(i);
    for(i=1;i<=n;i++)
        printf("%d ",sol[i]);
    return 0;
}