| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 432 | 198 | 153 | 44.606% |
동빈이가 사는 나라의 나무들은 트리 모양을 하고 있다.
다가오는 크리스마스를 기념해서, 동빈이는 나무를 다듬어서 집에 트리를 장식하기로 했다.
동빈이가 가지고 있는 트리는 N개의 노드들이 N-1개의 간선으로 연결되어 있다. 각 노드들은 1~N까지의 번호가 정해져 있고, 루트 노드의 번호는 1이다.
트리에서 루트 노드의 레벨은 0이고 아래로 갈수록 1씩 증가한다. 동빈이는 모든 노드에 장식을 달고 싶었지만, 트리의 두께가 K를 넘으면 집에 들어가지 않는다.
이때 트리의 두께란, 같은 레벨에 있는 노드의 개수 중 최댓값이다.
결국, 일부 노드를 제거해 트리의 두께가 K이하가 되도록 만들어야 한다. 트리를 다듬을 때 부모 노드를 제거하면 모든 자식 노드도 제거된다.
되도록 많은 장식을 달고 싶은 동빈이는 최대한 많은 노드를 남기려 한다. 여러분이 동빈이를 도와주자.
첫째 줄에 정점의 개수 N과 레벨 당 남길 수 있는 노드의 개수 K가 주어진다. (1 ≤ N ≤ 10,000, 1 ≤ K ≤ N)
다음 N-1개의 줄에 걸쳐, 두 정수 ai, bi 가 주어진다. 이는 ai번 노드와 bi번 노드가 간선으로 연결되어 있다는 의미이다. (1 ≤ ai, bi ≤ N, ai ≠ bi)
최대한 많은 노드를 남기고 트리를 정리했을 때 남은 노드의 개수를 출력하시오.
5 2 1 3 1 4 1 5 5 2
4
10 2 2 8 5 1 10 5 3 5 6 3 8 7 2 5 3 4 9 6
8
University > 인천대학교 > INU 코드페스티벌 2021 D번