Cod sursa(job #3335466)

Utilizator h4rap-a1bMihail Cosor h4rap-a1b Data 22 ianuarie 2026 18:53:21
Problema BFS - Parcurgere in latime Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.73 kb
from collections import deque


def bfs(target, graph, dist):
    dist[target] = 0
    q = deque([target])

    while q:
        curr = q.popleft()

        for neighbour in graph[curr]:
            if dist[neighbour] == -1:
                dist[neighbour] = dist[curr] + 1
                q.append(neighbour)

    

def main():
    fin = open('bfs.in', 'r')
    fout = open('bfs.out', 'w')
    input = fin.readline

    n, m, s = map(int, input().split())
    graph = [[] for _ in range(n+1)]
    dist = [-1] * (n+1)

    for _ in range(m):
        x, y = map(int, input().split())
        graph[x].append(y)

    bfs(s, graph, dist)
    for i in range(1, n + 1):
        fout.write(str(dist[i]) + " ")
    
    fin.close()
    fout.close()

main()