Pagini recente » Cod sursa (job #2228389) | Cod sursa (job #581754) | Cod sursa (job #3271652) | Cod sursa (job #591717) | Cod sursa (job #2787750)
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(m)]
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()