# 11403 경로 찾기
N = int(input())
arr = [list(map(int,input().split())) for _ in range(N)]
for k in range(N):
for x in range(N):
for y in range(N):
if arr[x][k] + arr[k][y] == 2:
arr[x][y] = 1
for i in range(N):
print(*arr[i])
풀고보니 플로이드 와샬 문제였다.
중간 경로를 통해서 두개가 연결이 되는 경우 arr를 갱신해주는 방식으로 했다.
이 방식 말고도 BFS,DFS를 통해 node들을 탐색해서 푸는 방식도 있다.
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ/백준] 3197 백조의 호수 (0) | 2021.02.01 |
---|---|
[BOJ/백준] 1309 동물원 (0) | 2021.01.31 |
[BOJ/백준] 9251 LCS (0) | 2021.01.29 |
[BOJ/백준] 14499 주사위 굴리기 (0) | 2021.01.29 |
[BOJ/백준] 9633 N-queen (0) | 2021.01.28 |