반응형
알고리즘 분류
- 그래프 이론
- 플로이드–워셜
SOLUTION
import sys
INF = sys.maxsize
n = int(sys.stdin.readline())
m = int(sys.stdin.readline())
maps = [[INF] * n for _ in range(n)]
for _ in range(m):
start, end, cost = map(int, sys.stdin.readline().split())
if cost < maps[start-1][end-1]:
maps[start-1][end-1] = cost
for k in range(n): # 경유지
for i in range(n): # 시작점
for j in range(n): # 끝점
if i == j:
maps[i][j] = 0
else:
maps[i][j] = min(maps[i][j], maps[i][k] + maps[k][j])
for i in range(n):
for j in range(n):
print(0 if maps[i][j] == INF else maps[i][j], end = " ")
print()
'코딩테스트 대비 > BOJ' 카테고리의 다른 글
[Baekjoon/Python] 13172번: Σ - 효과는 굉장했다! (0) | 2022.07.24 |
---|---|
[Baekjoon/Python] 12851번: 숨바꼭질 2- 효과는 굉장했다! (0) | 2022.07.24 |
[Baekjoon/Python] 10830번: 행렬 제곱 - 효과는 굉장했다! (0) | 2022.06.12 |
[Baekjoon/Python] 9935번: 문자열 폭발 - 효과는 굉장했다! (0) | 2022.06.12 |
[Baekjoon/Python] 9663번: N-Queen - 효과는 굉장했다! (0) | 2022.05.26 |