8 questions. Covers Floyd-Warshall all-pairs shortest paths in Python.
Questions 1 to 5 of 8
python import math INF = math.inf d = [[INF] * 3 for _ in range(3)] for i in range(3): d[i][i] = 0 d[0][1] = 2 d[1][2] = 2 d[2][0] = 1 d[0][2] = 7 for k in range(3): for i in range(3): for j in range(3): d[i][j] = min(d[i][j], d[i][k] + d[k][j]) print(d[0][2], d[1][0])
python from collections import deque n = 5 edges = [(0, 2), (0, 1), (1, 3), (2, 3), (3, 4)] adj = [[] for _ in range(n)] for a, b in edges: adj[a].append(b) adj[b].append(a) parent = [-1] * n seen = [False] * n queue = deque([0]) seen[0] = True while queue: u = queue.popleft() for v in adj[u]: if not seen[v]: seen[v] = True parent[v] = u queue.append(v) print(parent)
[3, 2, 0]
[0, 2, 3]
python def path_to(parent, target): path = [] v = target while v != -1: path.append(v) v = parent[v] return path
path = []
path = ()
v != -1
path.append(v)
path_to
python def path_to(parent, target): if parent[target] == -1: return [] path = [] v = target while v != -1: path.insert(0, v) v = parent[v] return path
[]
[target]
k
i
j
Type a number.
5 question(s) left on this page.
Typed answers ignore extra spaces and, for most questions, capital letters.