Cod sursa(job #2704597)

Utilizator CosmanIulianCosman Iulian CosmanIulian Data 10 februarie 2021 20:20:36
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include<bits/stdc++.h>
#define Flash ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

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()
{
    int n,m;
    fin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        int x,y;
        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;
}