Cod sursa(job #1328635)

Utilizator AeroHHorea Stefan AeroH Data 28 ianuarie 2015 16:55:53
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <vector>
using namespace std;

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

int n,m,i,k,fv[50005],x,y;
vector<int> t,v[50005];

void df(int now)
    {
        if (fv[now])
            return;
        fv[now]=1;
        for(int i=0;i<v[now].size();++i)
            if (!fv[v[now][i]])
                df(v[now][i]);

        t.push_back(now);
    }


int main()
{
    f>>n>>m;
    for (i=1;i<=m;++i)
        {
            f>>x>>y;
            v[x].push_back(y);
        }
    for (i=1;i<=n;++i)
        df(i);

    for (i=n;i;--i)
        g<<t[i-1]<<" ";

    return 0;
}