시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
루트가 있는 트리에서 어떤 정점 V의 레벨은 루트에서 V까지의 거리이다. 정점 U가 정점 V의 부모라는 것은 U와 V가 간선으로 연결되어 있고, U의 레벨이 V의 레벨보다 정확히 1 작다는 뜻이다.
다음 재연결 작업을 원하는 만큼 수행할 수 있다.
V를 고른다.V의 조상 중 하나인 정점 U를 고른다.V와 현재 부모를 잇는 간선을 제거한다.U와 V를 간선으로 연결하여 U가 V의 새 부모가 되게 한다.작업 비용은 작업 직전 두 정점의 레벨 차이에서 1을 뺀 값이다. 작업 직전 V의 레벨이 L1, U의 레벨이 L2라면 비용은 L1 - L2 - 1이다.
트리의 높이가 K라는 것은 레벨이 K인 정점이 하나 이상 있고, 레벨이 K + 1인 정점은 없다는 뜻이다. 주어진 트리의 높이를 H 이하로 만들기 위해 필요한 재연결 작업 비용의 최솟값을 구하라. 작업은 여러 번 수행할 수 있다.
첫째 줄에 정점의 수 N이 주어진다. (1 <= N <= 100)
둘째 줄부터 N - 1개의 줄에는 트리의 간선 정보가 주어진다. 각 줄은 a b 형태이며, 이는 a가 b의 부모라는 뜻이다.
정점 번호는 0부터 N - 1까지이고, 루트는 항상 0이다.
마지막 줄에는 목표 높이 H가 주어진다. H는 1 이상 N - 1 이하의 정수이다.
트리의 높이를 H 이하로 만들기 위해 필요한 재연결 작업 비용의 최솟값을 첫째 줄에 출력한다.