Antrenament OLI · Grafuri · clasa a 10-a
Distanțe minime de la un nod
Cerință
Pentru fiecare nod afișează numărul minim de muchii de pe un drum de la s la el, sau -1 dacă nu se poate ajunge.
Problemă originală de antrenament, nu este subiect oficial.
Date de intrare
Pe prima linie se află n și m (noduri, muchii). Pe următoarele m linii câte o muchie x y. Pe ultima linie se află s.
Date de ieșire
n numere pe o linie. Nu afișa mesaje suplimentare.
Restricții
- 1 ≤ n ≤ 100 000, 0 ≤ m ≤ 200 000
- Sunt 20 de teste, fiecare valorează 5 puncte.
4 2 2 3 1 3 1
0 2 1 -1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: BFS din s: distanța unui vecin nou este distanța nodului curent + 1. Rezultatul corect pentru acest exemplu este: 0 2 1 -1.
7 8 3 5 4 6 5 7 5 6 6 7 2 4 2 3 2 7 6
-1 2 2 1 1 0 1
Datele exemplului respectă formatul de intrare. Aplicăm ideea: BFS din s: distanța unui vecin nou este distanța nodului curent + 1. Rezultatul corect pentru acest exemplu este: -1 2 2 1 1 0 1.
24 46 2 23 1 16 2 6 3 6 7 21 7 24 2 3 20 24 1 9 11 16 4 11 5 15 13 20 3 15 4 9 3 16 1 13 6 20 16 19 2 7 4 13 4 10 4 14 15 24 6 24 5 22 21 23 12 21 12 17 14 16 2 14 8 16 11 15 14 18 12 24 20 22 8 12 10 14 9 21 4 5 5 13 5 18 16 20 15 23 9 12 11 24 21
2 2 3 2 3 3 1 2 1 3 3 1 3 3 2 3 2 4 4 3 0 4 1 2
Datele exemplului respectă formatul de intrare. Aplicăm ideea: BFS din s: distanța unui vecin nou este distanța nodului curent + 1. Rezultatul corect pentru acest exemplu este: 2 2 3 2 3 3 1 2 1 3 3 1 3 3 2 3 2 4 4 3 0 4 1 2.
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