Cod sursa(job #2791782)

Utilizator NSA-16Neacsu-Tranciuc Sasa-Andrei NSA-16 Data 31 octombrie 2021 00:44:11
Problema BFS - Parcurgere in latime Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.84 kb
def BFS(file, file2):
    import collections
    f = open(file, "r")
    g = open(file2, "w")
    n, m, s = [int(n) for n in f.readline().split()]
    # d = collections.defaultdict(list)
    # for i in range(m):
    #     n1, n2 = [int(n) for n in f.readline().split()]
    #     d[n1].append(n2)
    d = {}
    for i in range(1, n+1):
        d[i] = []
    for i in range(m):
        n1, n2 = [int(n) for n in f.readline().split()]
        d[n1].append(n2)
    q = collections.deque()
    q.append(s)
    r = (n+1)*[-1]
    r[s] = 0
    v = (n+1)*[False]
    v[s] = True
    while q:
        n = q.popleft()
        for i in d[n]:
            if v[i] is False:
                q.append(i)
                v[i] = True
                r[i] = r[n] + 1
    g.write(" ".join(str(n) for n in r[1:]))
    f.close()
    g.close()