임의의 두 정점간의 거리를 한 번에 알려줘야 하므로 플로이드로 해결하는 게 적절합니다.
플로이드 노드의 갱신을 위한 점화식은 다음과 같습니다.
if (dist[i][j] > dist[i][mid] + dist[mid][j])
dist[i][j] = dist[i][mid] + dist[mid][j]
코드(python): github.com/cotchan/algorithm/blob/main/python/BOJ/BOJ14588.py
코드(JAVA): github.com/cottory/algorithm/blob/master/BOJ/BOJ14588.java
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]16987번: 계란으로 계란치기 (0) | 2020.10.04 |
---|---|
[BOJ]16986번: 인싸들의 가위바위보 (0) | 2020.10.04 |
[BOJ]18223번: 민준이와 마산 그리고 건우 (0) | 2020.09.21 |
[BOJ]4485번: 녹색 옷 입은 애가 젤다지? (0) | 2020.09.18 |
[BOJ]19236번: 청소년 상어 (0) | 2020.09.17 |