Antrenament OJI · Grafuri · clasa a 11-a
Ordinea lecțiilor (sortare topologică)
Cerință
Un arc x→y înseamnă că lecția x trebuie făcută înaintea lui y. Afișează cea mai mică ordine lexicografică validă a celor n lecții, sau -1 dacă nu există.
Problemă originală de antrenament, nu este subiect oficial.
Date de intrare
Pe prima linie se află n și m (noduri, arce). Pe următoarele m linii câte un arc x y (de la x la y).
Date de ieșire
Ordinea lecțiilor sau -1. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n ≤ 50 000, 0 ≤ m ≤ 100 000
- Sunt 20 de teste, fiecare valorează 5 puncte.
4 3 3 2 2 4 3 4
1 3 2 4
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Algoritmul lui Kahn cu un min-heap în loc de coadă. Rezultatul corect pentru acest exemplu este: 1 3 2 4.
7 5 2 1 5 1 7 3 2 3 4 1
2 4 5 1 6 7 3
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Algoritmul lui Kahn cu un min-heap în loc de coadă. Rezultatul corect pentru acest exemplu este: 2 4 5 1 6 7 3.
21 34 21 16 12 16 20 17 12 13 9 11 2 11 11 17 2 14 6 2 6 5 7 16 18 13 9 1 5 12 19 14 10 8 19 17 11 16 15 13 2 19 1 17 12 14 3 5 3 11 7 14 4 13 19 16 8 13 9 18 2 12 2 18 11 18 15 18 21 7
3 4 6 2 5 9 1 10 8 11 12 15 18 13 19 20 17 21 7 14 16
Datele exemplului respectă formatul de intrare. Aplicăm ideea: Algoritmul lui Kahn cu un min-heap în loc de coadă. Rezultatul corect pentru acest exemplu este: 3 4 6 2 5 9 1 10 8 11 12 15 18 13 19 20 17 21 7 14 16.
Probleme similare pe PbInfo
Exersează aceeași tehnică și pe PbInfo — acolo găsești și soluții oficiale.
- #1512 Mars — șmenul lui Mars
- #3844 KSum — SSM cu lungime minimă
- #2921 SumeSecv1 — sume parțiale
- #237 Sume — sume parțiale
- #3659 SumMaxSecv — suma costurilor
- #4205 SecvSumS — secvență de sumă S
- #3941 CountSumS — perechi de sumă S
- #4532 SumOfAll — suma subsecvențelor
- #1879 platou2 — secvență crescătoare
- #1639 Secvente3 — ONI 2013
- #2301 secv — ONI gimnaziu 2016
- #2510 vsecvente — lot juniori
- #1090 Secvente2
- #4423 secv2
- #3163 SecvMaxVal
- #334 secventa1 — clasice
- #50 secvmax — secvența de sumă maximă
- #315 secventa
- #190 secvk — secvențe de lungime k
- #217 platou1 — platouri