https://www.acmicpc.net/problem/11403
SOLUTION
플로이드-워셜 문제로 해결하였다.
https://claude-u.tistory.com/334 해당 문제 및 풀이와 같다.
PYTHON CODE
#입력
N = int(input())
graph = []
for _ in range(N):
graph.append(list(map(int, input().split())))
#플로이드-워셜 알고리즘
for k in range(N): #경로 for문이 가장 상위 단계여야 누락되지 않는다
for i in range(N):
for j in range(N):
if graph[i][j] == 1 or (graph[i][k] == 1 and graph[k][j] == 1):
graph[i][j] = 1
#출력
for row in graph:
for col in row:
print(col, end = " ")
print()
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#287 백준 파이썬 [1238] 파티 - 플로이드 와샬 (0) | 2019.12.15 |
---|---|
#286 백준 파이썬 [1389] 케빈 베이컨의 6단계 법칙 - 플로이드 와샬 (0) | 2019.12.15 |
#284 백준 파이썬 [1956] 운동 - 플로이드 와샬 (0) | 2019.12.14 |
#283 백준 파이썬 [11404] 플로이드 - 플로이드 와샬 (0) | 2019.12.14 |
#282 백준 파이썬 [2206] 벽 부수고 일어나기 - BFS (0) | 2019.12.13 |