이 알고리즘은 일 대 다 최단 거리를 알 수 있는 알고리즘이다.

n - 2 번의 라운드 동안 모든 엣지들을 확인하면서 릴랙스를 한다면.

시작점으로 부터 모든 점에 대한 최단 거리가 업데이트 된다.

var dist = Array(repeating: Int.max, count: n)
var predecessor = Array(repeating: nil, count : n)
for i in 0..<n-1 {
		for edge in edges {
				let a = edge[0]
				let b = edge[1]
				let w = edge[2]
				if dist[b] > dist[a] + w { // relax
						dist = dist[a] + w
						predecessor[b] = a
				}
		}
}