Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Nov 10, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/24545

🧭 풀이 시간

15분

👀 체감 난이도

✏️ 문제 설명

Y-트리는 아래 조건을 만족하는 트리이다.

  1. 4개 이상의 정점과 인접한 정점은 없다.
  2. 인접한 정점의 개수가 3개인 정점은 정확히 하나만 존재한다.
  3. 인접한 정점이 하나뿐인 정점은 정확히 세 개 존재한다.

정점 N개인 트리에서 정점을 0개 이상 삭제하여 만들 수 있는 가장 큰 Y-트리의 크기를 구해보자.

🔍 풀이 방법

일단 1을 루트로 잡고,
정점 n에 대해 밑으로 가장 긴 길이를 d[n], 밑으로 두 번째로 긴 길이를 dd[n], 세 번째로 긴 길이를 ddd[n], 위로 가장 긴 길이를 u[n]이라 정의
d[n] = max(d[i]) + 1
dd[n] = max2(d[i]) + 1
ddd[n] = max3(d[i]) + 1
u[n] = max(u[p], d[p] == d[n] + 1 ? dd[p] : d[p]) + 1

답은 d[n] + dd[n] + ddd[n] 혹은 d[n] + dd[n] + u[n] 의 최댓값으로 구했다.

⏳ 회고

ez

@oncsr oncsr self-assigned this Nov 10, 2025
@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Nov 10, 2025
@ShinHeeEul ShinHeeEul merged commit d812925 into main Nov 10, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants