본문 바로가기
백준 문제 해설

3973 Time To Live (c++)

by toomanysegtrees 2022. 8. 7.

다른 문제들을 풀다 막힘이 생기면 쉽게 쉽게 알고리즘 분류를 켜고 정답 코드를 찾아봤던 것과는 다르게 이 문제는 처음부터 끝까지 혼자 고민하며 온전히 나 스스로 해결하게 될 것이다. 

 

문제 링크 : https://www.acmicpc.net/problem/3973

 

-- 문제 풀기 전에 했던 고민 --

실수 1

문제를 잘못 이해해 트리의 전체 TTL값을 최소로 하기 위한 방법을 고민하였다 

관찰 1

최대 TTL값은 항상 Leaf node에서 발생한다

  - Leaf node마다 bfs를 돌려서 마지막에 만나는 곳을 라우터로 하여 정답을 찾는다 (?)

 

-- 첫 다짐을 깨버리게 되었다.

 

정답 풀이

 

어느 한 지점에서나 bfs를 돌리면 마지막에 방문하게 되는 노드(이 노드는 무조건 leaf일 수 밖에 없음)는 길게 늘어뜨렸을 때의 양 끝점 중 하나임이 항상 보장된다......

 

 

 

'백준 문제 해설' 카테고리의 다른 글

17143 낚시왕 (C++)  (1) 2022.10.03
5719 거의 최단 경로 (C++)  (0) 2022.10.02
1043 거짓말 (C++)  (1) 2022.10.01
12880 그래프 차이 최소 (C++)  (2) 2022.09.30
2473 세 용액 (C++)  (2) 2022.09.29
16724 피리 부는 사나이 (C++)  (0) 2022.09.28
백준 13913 메모리초과(c++)  (0) 2022.08.05
9177 단어 섞기(dp, c++)  (0) 2022.08.05