반응형
문제
https://www.acmicpc.net/problem/1167
풀이
DFS를 사용해서 풀 수 있습니다.
임의의 노드에서 출발하여 가장 먼 거리에 있는 노드를 탐색해줍시다.
임의의 노드에서 출발하여 가장 먼 거리에 있는 노드는 트리의 지름에 포함되는 노드입니다.
가장 먼 거리에 있는 노드를 찾았다면 그 노드에서 부터 가장 깊은 곳이 트리의 지름이 됩니다.
소스코드
후기
처음에는 모든 노드에 대해 DFS나 다익스트라를 해봐야하나... 생각이 들었습니다.
하지만 정점의 개수가 최대 10만이므로, 두 방식으로는 시간초과가 나게됩니다.
블로그 글을 참고해서 풀이하였고, 이런 방법은 직접 떠올리지 못해서 아쉬웠습니다.😂
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1991 트리 순회 (Swift) (0) | 2023.05.15 |
---|---|
[BOJ] 백준 1967 트리의 지름 (Swift) (0) | 2023.05.15 |
[BOJ] 백준 11725 트리의 부모 찾기 (Swift) (0) | 2023.05.15 |
[BOJ] 백준 11780 플로이드 2 (Swift) (0) | 2023.05.15 |
[BOJ] 백준 11779 최소비용 구하기 2 (Swift) (1) | 2023.05.15 |