Cod sursa(job #2572676)

Utilizator bogikanagyNagy Boglarka bogikanagy Data 5 martie 2020 13:48:10
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
//#include <iostream>
#include <fstream>
#include <deque>
#include <vector>

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

deque <int> v;
struct adat
{
    bool lat;
    int be;
    vector <int> sz;
};
vector <adat> x;

int n,m,i,j,a,b;

int mely (int csp)
{
    x[csp].lat=true;
    for (auto &e:x[csp].sz)
    {
        if (!x[e].lat) mely(e);
    }
    v.push_back(csp);
}
int main()
{
    cin>>n>>m;
    x.resize(n+1);
    for (i=1;i<=m;++i)
    {
        cin>>a>>b;
        x[a].sz.push_back(b);
        x[b].be++;
    }

    for (i=1;i<=n;++i)
    {
        if (x[i].be==0)
        {
            mely(i);
            break;
        }
    }

    for (auto &e:v) cout<<e<<" ";
    return 0;
}