Cod sursa(job #1621144)

Utilizator Mr.RobotElliot Alderson Mr.Robot Data 29 februarie 2016 17:02:10
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");

struct nod
{
    int info;
    nod *urm;
} *prim, *v[50001];

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


void parcurgere( int x )
{
    nod *p;
    for( p = v[x]; p; p = p->urm )
        if( viz[ p->info ] == 0 )
            parcurgere( p->info );
    viz[x] = 1;
    nod *nou;
    nou = new nod;
    nou->info = x;
    nou->urm = prim;
    prim = nou;
}


int main()
{
    f >> n >> m;

    for ( int i = 1; i <= m; i ++ )
    {
        f >> x >> y;
        nod *nou;
        nou = new nod;
        nou->info = y;
        nou->urm = v[x];
        v[x] = nou;
    }

    for( int i = 1; i <= n; i ++ )
        if( viz[ i ] == 0)
            parcurgere( i );

    nod *p;
    for( p = prim; p; p = p->urm )
        g << p->info << " ";

    return 0;
}