Cod sursa(job #2704528)

Utilizator CosmanIulianCosman Iulian CosmanIulian Data 10 februarie 2021 19:01:48
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include<bits/stdc++.h>

using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

int n, m, x, y;
bool v[100001];
deque <int> q;

struct c
{
    deque <int> vec;
};
c g[100001];

 void parcurgere(int t)
{
    v[t]=1;
    while(!g[t].vec.empty())
    {
        if(!v[g[t].vec.front()])
            parcurgere(g[t].vec.front());
        g[t].vec.pop_front();
    }
    q.push_back(t);
}

int main()
{
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        fin>>x>>y;
        g[x].vec.push_back(y);
    }
    for(int i=1;i<=n;i++)
    if(!v[i])
        parcurgere(i);
    while(!q.empty())
    {
        fout<<q.back()<<" ";
        q.pop_back();
    }
    return 0;
}