MedieC++17

Ordinea cursurilor cu prerechizite

Cerință

Trebuie parcurse n cursuri, numerotate 1..n. O relație u v cere ca u să fie terminat înainte de v. Afișează cea mai mică ordine lexicografică validă a tuturor cursurilor. Două ordini se compară la prima poziție diferită. Dacă relațiile fac orice ordine imposibilă, afișează -1.

Tip de problemă: Course Schedule II.

Date de intrare

Se citesc n și m, apoi m perechi u v.

Date de ieșire

Afișează cele n numere în ordinea cerută sau -1.

Restricții

1 ≤ n ≤ 100; 0 ≤ m ≤ 10000; 1 ≤ u,v ≤ n. Relațiile repetate au același efect ca o singură relație; o relație u u face planul imposibil.

Observații

Raportată de un candidat: Course Schedule II la Amazon (SDE2, Bellevue, noiembrie 2019).

Adaptare Algo25: Alegem ordinea lexicografic minimă, numerotăm de la 1 și permitem relații repetate.

Sursa relatării: https://leetcode.com/discuss/post/438583/amazon-sde2-bellevue-nov-2019-reject/

Exemple

2 EXEMPLE

Exemplul 1

Exemplul 1 pentru „Ordinea cursurilor cu prerechizite”. 5 vârfuri și 3 arce orientate. Săgeata u → v permite deplasarea de la u la v; sensul invers nu este implicit.Exemplul 1, reprezentat vizual. 5 vârfuri și 3 arce orientate.Mărește schema ↗

Date de intrare

5 3
1 3
2 3
3 5

Date de ieșire

1 2 3 4 5

Exemplul 2

Date de intrare

3 3
1 2
2 3
3 1

Date de ieșire

-1
UN MIC IMPULS

Ai nevoie de un indiciu?

Descoperă doar cât îți trebuie. Indiciile nu scad punctajul.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Se verifică autentificarea…

Deschide atelierul cu sugestii și teste locale în 4 limbaje →

Un pas, apoi următorul.Înapoi sus ↑