Cod sursa(job #1538215)

Utilizator Vlad1111Sbengheci Vlad-Andrei Vlad1111 Data 28 noiembrie 2015 17:55:09
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <cstdio>

using namespace std;

struct nod
{
    int inf;
    nod* a;
}*p[50010];

int n,m,a[50001],x,y;

void af(int i)
{
    int b[50001];
    int k=0;
    for(nod*c=p[i];c!=NULL;c=c->a)
    {
        printf("%d ",c->inf);
        b[k++]=c->inf;
    }
    for(i=0;i<k;i++)
        af(b[i]);
}
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);
        nod*c=new nod;
        c->inf=y;
        c->a=p[x];
        p[x]=c;
        a[y]=1;
    }
    for(int i=1;i<=n;i++)
        if(a[i]==0)
    {
        printf("%d ",i);
        af(i);
    }
    return 0;
}