Pagini recente » Cod sursa (job #231993) | Cod sursa (job #2910578) | Cod sursa (job #1356017) | Cod sursa (job #701237) | Cod sursa (job #2937102)
from typing import List
def distantePuncteControl(nr_noduri: int, muchii: List[List[int]], puncteDeControl: List[int]) -> List[List[int]]:
vizitate = [0 for _ in range(nr_noduri + 1)]
for item in puncteDeControl:
vizitate[item] = 1
lista_adiacenta = [[] for _ in range(nr_noduri + 1)]
for muchie in muchii:
lista_adiacenta[muchie[0]].append(muchie[1])
lista_adiacenta[muchie[1]].append(muchie[0])
distante = [0 for _ in range(nr_noduri + 1)]
tati = [-1 for _ in range(nr_noduri + 1)]
coada = puncteDeControl
while len(coada) > 0:
nod = coada.pop(0)
for item in lista_adiacenta[nod]:
if not vizitate[item]:
tati[item] = nod
vizitate[item] = 1
distante[item] = distante[nod] + 1
coada.append(item)
return distante
muchii = [[1, 2],[1, 3],[1, 4],[2, 5],[2, 9],[3, 5],[3, 7],[5, 7],[6, 7],[6, 8],[4, 6]]
print(distantePuncteControl(9, muchii, [8, 9]))