Pagini recente » Istoria paginii utilizator/vitchy13 | Atasamentele paginii Profil ioanalexandra | Istoria paginii utilizator/justluca18 | Istoria paginii utilizator/gogomanus | Cod sursa (job #3364619)
from collections import deque
f=open("bfs.in",'r')
w=open("bfs.out",'w')
line=f.readline().split()
n,m,s=int(line[0]),int(line[1]),int(line[2])
a=[[] for _ in range(n+1)]
line=f.readline().split()
while line:
line=[int(line[i]) for i in range(0,2)]
a[line[0]].append(line[1])
line=f.readline().split()
viz=[0 for i in range(n+1)]
dist=[-1 for i in range(n+1)]
viz[s]=1
dist[s]=0
q = deque([s])
while q:
nod_curent = q.popleft()
for vecin in a[nod_curent]:
if viz[vecin]==0:
dist[vecin]=dist[nod_curent]+1
viz[vecin]=1
q.append(vecin)
for i in range(1,len(dist)):
w.write(str(dist[i])+" ")
f.close()
w.close()