Cod sursa(job #1984960)

Utilizator miruna999Morarasu Miruna miruna999 Data 26 mai 2017 16:58:22
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,s[50001],x,y,j;
bool viz[50001];
struct nod{int nr;nod *urm;}*a[50001];

void adaug(int x,int y)
{
    nod *p = new nod;
    p->nr=y;
    p->urm=a[x];
    a[x]=p;
}

void df(int k)
{
    viz[k]=1;
    for(nod *p=a[k];p;p=p->urm)
        if(!viz[p->nr])
            df(p->nr);
    s[j--]=k;
}

int main()
{
    f>>n>>m;j=n;
    for(int i=1;i<=m;++i)
        f>>x>>y,adaug(x,y),adaug(y,x);
    df(1);
    for(int i=1;i<=n;++i)
        g<<s[i]<<" ";
    return 0;
}