백준
플로이드 와샬
모든 정점사이의 최단거리를 구할 수있다.
시간 복잡도가 O(N^3)
arr[a][k] = 1 and arr[a][b] = 1 일 때, arr[a][b] = 1 이용
n = int(input())
arr = []
visit = [0]*n
for i in range(n):
arr.append(list(map(int, input().split())))
def dfs(v):
for i in range(n):
if visit[i] == 0 and arr[v][i] == 1:
visit[i] = 1
dfs(i)
for i in range(n):
dfs(i)
print(*visit)
visit = [0]*n