Cod sursa(job #3314323)

Utilizator mara.caramidaruCaramidaru Mara-Andreea mara.caramidaru Data 9 octombrie 2025 13:48:57
Problema BFS - Parcurgere in latime Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.64 kb
from collections import deque

def main():
    with open("bfs.in", "r") as f:
        N, M, S = map(int, f.readline().split())
        adj = [[] for _ in range(N + 1)] 
        for _ in range(M):
            u, v = map(int, f.readline().split())
            adj[u].append(v) 
    dist = [-1] * (N + 1) 
    dist[S] = 0
    q = deque([S])
    while q:
        u = q.popleft()
        for v in adj[u]:
            if dist[v] == -1:
                dist[v] = dist[u] + 1
                q.append(v)
    with open("bfs.out", "w") as f:
        f.write(' '.join(str(dist[i]) for i in range(1, N + 1)))
if __name__ == "__main__":
    main()