Pagini recente » Cod sursa (job #583802) | Cod sursa (job #2433492) | Cod sursa (job #107101) | Cod sursa (job #729247) | Cod sursa (job #2784688)
from collections import deque
def citire(nume_fisier):
f=open(nume_fisier)
n,m,s=(int(x) for x in f.readline().split(maxsplit=2))
s-=1
l=[[] for i in range(m)]
for linie in f:
x,y=(int(a) for a in linie.split(maxsplit=1))
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(len(c)>0):
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))
f.close()