Cod sursa(job #2866037)

Utilizator DragonoidOmeganume nume DragonoidOmega Data 9 martie 2022 12:21:45
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#include <deque>
#include <vector>

using namespace std;

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

int n,m;

struct adat
{
    bool lat,nemkezd;
    vector <int> sz;
};

vector <adat> x;

deque <int> y;
void mely(int a)
{
    x[a].lat=1;
    for(auto e:x[a].sz)
    {
        if(!x[e].lat)
        {
            mely(e);
        }
    }
    y.push_front(a);
}
int i,a,b;
int main()
{
    cin>>n>>m;
    x.resize(n+1);
    for(i=1;i<=m;++i)
    {
        cin>>a>>b;
        x[b].nemkezd=1;
        x[a].sz.push_back(b);
    }

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

    for(auto e:y)
    {
        cout<<e<<" ";
    }

}