Pagini recente » Cod sursa (job #2737457) | Cod sursa (job #3192703) | Cod sursa (job #22522) | Cod sursa (job #2557127) | Cod sursa (job #2784704)
from collections import deque
def citire(nume_fisier):
f = open(nume_fisier)
n, m, s = [int(x) for x in f.readline().split()]
s -= 1
l = [[] for i in range(n)]
for linie in f:
x, y = [int(a) for a in linie.split()]
l[x - 1].append(y - 1)
f.close()
return n, m, s, l
def bfs(s):
c = deque()
c.append(s)
d[s] = 0
viz[s] = 1
while c:
x = c.popleft()
for y in l[x]:
if viz[y] == 0:
c.append(y)
viz[y] = 1
d[y] = d[x] + 1
n, m, s, l = citire("bfs.in");
d = [-1] * n
viz = [0] * n
bfs(s)
f = open("bfs.out", "w")
# f.write(" ".join(str(x) for x in d))
for x in d:
f.write(str(x))
f.write(" ")
f.close()