Cod sursa(job #3371543)

Utilizator david18.6yDavid Popa david18.6y Data 30 octombrie 2026 18:32:01
Problema Sate Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 0.77 kb
from collections import deque

def sate(lista,X,Y):
    dist_X=[-1]*len(lista)
    dist_X[X]=0
    coada=deque([X]) 
    vizitat=[False]*len(lista)
    vizitat[X]=True
    while coada:
        nod=coada.popleft()
        for vecin, d in lista[nod]:
            if vizitat[vecin] is False:
                vizitat[vecin] = True
                dist_X[vecin]=dist_X[nod]+d
                coada.append(vecin)
    return abs(dist_X[Y])


with open("sate.in", "r") as f, open("sate.out", "w") as g:
    N,M,X,Y=map(int, f.readline().strip().split())
    lista=[[] for i in range(N+1)]
    for _ in range(M):
        i,j,D=map(int, f.readline().strip().split())
        lista[i].append((j, D))
        lista[j].append((i, -D))
    g.write(str(sate(lista,X,Y))+"\n")