BFS, 플로이드-와샬 등 다양한 형태로 해결할 수 있습니다.
저는 플로이드로 해결했습니다.
"dist[i][j] = i와 j가 연결되어 있는 거리"로 정의합니다.
초기값은 dist[i][j]= ∞로 두고, 입력이 주어져 있는 경우만 dist[i][j] = 1로 셋팅을 합니다.
그 다음에 플로이드를 돌면서
dist[i][j] > dist[i][mid] + dist[mid][j] 이면
dist[i][j] = dist[i][mid] + dist[mid][j] 로 갱신하면 됩니다.
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]19236번: 청소년 상어 (0) | 2020.09.17 |
---|---|
[BOJ]9205번: 맥주 마시면서 걸어가기 (0) | 2020.09.13 |
[BOJ]1613번: 역사 (0) | 2020.09.11 |
[BOJ]1865번: 웜홀 (0) | 2020.09.11 |
[BOJ]16947번: 서울 지하철 2호선 (0) | 2020.09.09 |