Mai intai trebuie sa te autentifici.

Cod sursa(job #2681043)

Utilizator AnastasiaStefanescuAnastasia Stefanescu AnastasiaStefanescu Data 4 decembrie 2020 20:23:36
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
//
//  main.cpp
//  probleme2018-2019

#include <fstream>
#include <iostream>
#include <math.h>
#include <set>
#include <queue>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");

int n, m, gint[50001], gies[50001], ord[50001], ramas, p, u, k, f[50001];

vector <int> l[500001];

int  coada[50001];

void parcurgere(int nod)
{
    k++;
    coada[k] = nod;
    f[nod] = 1;
    for (int j = 0; j< gies[nod]; j++)
    {
        gint[l[nod][j]]--;
        if(gint[l[nod][j]] == 0)
            parcurgere(l[nod][j]);
    }
        
}

int main()
{
    int i, j, x, y;
    fin>> n >> m;
    for (i = 1; i<= m; i++)
    {
        fin >> x >> y;
        gint[y]++;
        gies[x]++;
        l[x].push_back(y);
    }
    
    parcurgere(1);
    
    for (i = 1; i<= n; i++)
        fout << coada[i] << " ";
    
    
}