Cod sursa(job #2449066)

Utilizator voyagerSachelarie Bogdan voyager Data 18 august 2019 01:01:46
Problema BFS - Parcurgere in latime Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.59 kb
#!/usr/bin/env python3

import collections, sys

sys.stdout = open('bfs.out', 'w')

with open('bfs.in', 'r') as fin:
    readInts = lambda: tuple(map(int, fin.readline().split()))

    N, M, S = readInts()
    edges = [[] for _ in range(N + 1)]
    dist = [-1 for _ in range(N + 1)]

    for _ in range(M):
        s, t = readInts()
        edges[s].append(t)

    dist[S], dq = 0, collections.deque([S])
    while dq:
        n = dq.popleft()
        for t in edges[n]:
            if dist[t] < 0:
                dist[t] = dist[n] + 1
                dq.append(t)

    print(' '.join(map(str, dist)))