Cod sursa(job #1399159)

Utilizator 4ONI2015oni2015 4ONI2015 Data 24 martie 2015 16:37:50
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
vector<int>v[50005];
int x,y,sol[50005],cnt,n,m,i,viz[50005];
void df(int nod)
{
    for(auto it:v[nod])
        if(!viz[it])
        {
            viz[it]=1;
            df(it);
        }
    sol[++cnt]=nod;
}
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);
    }
    for(i=1;i<=n;i++)
        if(!viz[i])
        {
            viz[i]=1;
            df(i);
        }
    for(;n;n--)
        printf("%d ",sol[n]);
    return 0;
}