Sari la conținut
Zece la Info
Probleme

Sortare topologica cu DFS

Medie 1500 ms 64 MB#grafuri#orientat#sortare-topologica

Se da un graf orientat simplu cu n noduri si m muchii orientate. Determinati o ordine topologica a nodurilor folosind parcurgerea DFS (post-ordine inversata), pornind parcurgerile in ordine crescatoare a nodurilor de start si alegand la fiecare pas cel mai mic succesor nevizitat.

Date de intrare
Pe prima linie se citesc n si m. Urmeaza m linii, fiecare cu doua numere x y, reprezentand o muchie orientata de la x catre y.
Date de iesire
Daca graful contine un ciclu, se afiseaza -1. Altfel, se afiseaza cele n noduri in ordinea topologica obtinuta, separate prin spatiu.
Restrictii
1 <= n <= 100000, 0 <= m <= 200000

Exemple

Exemplul 1

Intrare

4 3
1 2
1 3
3 4

Iesire

1 3 4 2

Exemplul 2

Intrare

3 3
1 2
2 3
3 1

Iesire

-1

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.