Cod sursa(job #2402124)

Utilizator bogikanagyNagy Boglarka bogikanagy Data 10 aprilie 2019 13:00:24
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
//#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream cin ("sortaret.in");
ofstream cout ("sortaret.out");


long long n,k,i,j,a,b;
struct adat
{
    long long p;
    vector <int> s;
};
vector <adat> x;

vector <int> y,lat,m;

int mely (int csp)
{
    lat[csp]=1;
    for (auto e:x[csp].s)
        if (lat[e]==0) mely(e);
    m.push_back(csp);
}
int main()
{
    cin>>n>>k;
    x.resize(n+1);
    lat.resize(n+1);
    y.resize(n+1);

    for (i=1;i<=k;++i)
    {
        cin>>a>>b;
        x[a].p=a;
        x[a].s.push_back(b);
        y[b]++;
    }

    int o;
    o=0;
    for (i=1;i<=n;++i)
    {
        if (y[i]==0)
        {
            o=i;
            break;
        }
    }

        mely(o);

    for (i=n-1;i>=0;i--) cout<<m[i]<<" ";
     return 0;
}