Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def D(g, n, s):
- visited = [0] * n
- distance = [101] * n
- distance[s - 1] = 0
- for i in range(n):
- min = 102
- u = 0
- for j in range(n):
- if visited[j] == 0 and distance[j] < min:
- min = distance[j]
- u = j
- if distance[u] == 101:
- return -1
- else:
- visited[u] = 1
- for j in range(n):
- if g[u][j] >= 0:
- if distance[j] > distance[u] + g[u][j]:
- distance[j] = distance[u] + g[u][j]
- return distance
- n, s, f = map(int, input().split())
- g = []
- for i in range(n):
- l = list(map(int, input().split()))
- g.append(l)
- distance = D(g, n, s)
- if distance[f - 1] == 101:
- print(-1)
- else:
- print(distance[f - 1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement