올림픽 기념품
시간 제한0.25초메모리 제한1024 MB
트리의 간선에 P개의 물건을 배치할 때, 어떤 경로에서든 모을 수 있는 물건 수의 최댓값을 최소로 만드는 값을 구합니다.
문제
갓 시장에 나온 소매업체 YAOGS (Yet Another Olympic Goodies Seller)는 매우 비싼 올림픽 테마 물품을 판매한다. 대중에게 이름을 알리려고 이 업체는 대회를 열어 물품 일부를 나눠 주기로 한다. "올림픽 로고에는 원이 몇 개 있는가?"라는 질문에 가장 먼저 정답을 맞힌 사람이 최대 개의 매우 비싸지만 가치가 같은 물품을 받을 수 있다.
개의 물품은 YAOGS 본부의 통로 일부에 놓이며, 전부가 아닐 수도 있다. 각 통로에는 개, 개, 또는 그 이상의 물품이 놓일 수 있다. 통로들은 부터 까지 번호가 붙은 개의 노드로 이루어진 연결된 무방향 비순환 그래프, 즉 트리를 이룬다.
우승자는 은 알지만 트리 구조와 물품 배치는 모른다. 물품이 놓인 뒤 우승자는 시작 노드 과 끝 노드 을 고른다. 그러면 트리에서 에서 까지 이어지는 (유일한) 경로 위의 물품을 모두 가져갈 수 있다.
YAOGS는 우승자가 가져갈 수 있는 물품 수의 최댓값이 최소가 되도록 물품을 배치한다. 이 작업을 제대로 수행한다고 할 때, 우승자가 가져갈 수 있는 물품 수의 최댓값은 얼마인가?
입력
각 줄에는 공백으로 구분된 정수 두 개가 주어진다. 첫 줄에는 과 가 주어진다. 이어지는 개의 줄 중 번째 줄에는 트리의 노드 와 사이에 간선이 있다는 뜻으로 정수 와 가 주어진다.
출력
한 줄에 우승자가 가져갈 수 있는 물품 수의 최댓값을 나타내는 정수 하나를 출력한다.
제한
- 모든 에 대해 이고 이다.
- 입력된 간선들은 유효한 트리 구조를 이룬다.