Pagini recente » Cod sursa (job #1062347) | Cod sursa (job #1261023) | Cod sursa (job #2807786) | Cod sursa (job #2915905) | Cod sursa (job #3251782)
def memorareListaAdiacenta(fileName):
vectorMuchii = []
for linie in open(fileName, "r").read().split("\n"):
vectorMuchii.append(linie.split(" "))
aux = vectorMuchii.pop(0)
nrNoduri = int(aux.pop(0))
nrMuchii = int(aux.pop(0))
global s
s = int(aux.pop(0))
graf = [[] for i in range(nrNoduri+1)]
for muchie in vectorMuchii:
graf[int(muchie[0])].append(int(muchie[1]))
return graf
def bfs(start, end, graf):
queue = []
queue.append(start)
visited = [False for i in range(len(graf))]
contor = 0
nodCurent = 0
visited[start] = True
while end not in queue:
if queue == []:
return -1
nodCurent = queue.pop(0)
for nod in graf[nodCurent]:
if visited[nod] is False:
queue.append(nod)
visited[nod] = True
contor += 1
return contor
s = 0
graf = memorareListaAdiacenta("bfs.in")
costuri =[]
for i in range(1,len(graf)):
costuri.append(bfs(s,i,graf))
out = open("bfs.out","w")
for i in costuri:
out.write(str(i) + " ")