728x90
11404번: 플로이드
첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가
www.acmicpc.net
INF = int(1e9)
n = int(input())
m = int(input())
graph = [[INF] * (n+1) for _ in range(n+1)]
for a in range(1, n+1):
for b in range(1, n+1):
if a == b:
graph[a][b] = 0
for _ in range(m):
a, b, c = map(int, input().split())
if c < graph[a][b]:
graph[a][b] = c
for k in range(1, n+1):
for a in range(1, n+1):
for b in range(1, n+1):
graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])
for a in range(1, n+1):
for b in range(1, n+1):
if graph[a][b] == INF:
print(0, end=" ")
else:
print(graph[a][b], end=" ")
print()
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
(Brute Force)백준 2798 블랙잭 - python (0) | 2021.05.16 |
---|---|
(Stack)백준 2504 괄호의 값 - python (0) | 2021.03.31 |
(BFS)백준 18405 경쟁적 전염 - python (0) | 2021.03.13 |
(DFS)백준 14502 연구소 - python (0) | 2021.03.13 |
(BFS)백준 18352 특정 거리의 도시 찾기 - python (0) | 2021.03.12 |