만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

감시 고양이

시간 제한5초메모리 제한1024 MB

요약
트리와 쥐들의 경로가 주어질 때, 각 경로의 가운데 정점 1개 또는 2개를 적어도 하나씩 포함하는 정점의 최소 개수를 구합니다.
난이도

보통10점 중 6점

유형
트리, 동적 계획법
정답자
아직 제출이 없습니다

문제

언덕과 숲으로 둘러싸인 작은 마을 코쿠르코프에 쥐 문제가 생겼다. 이 마을은 아늑한 펍과 친절한 사람들로 알려져 오랫동안 평화로웠다. 그런데 쥐들이 나타났다. 이 쥐들은 똑똑하고 빠르며, 동시에 여러 곳에 있는 것처럼 보인다. 마을에서 가장 인기 있는 펍들을 차지하고 천장 대들보 사이를 뛰어다니며 빵 부스러기를 갉아 먹어 큰 골칫거리가 되었다.

코쿠르코프에는 NN개의 장소와 정확히 N−1N - 1개의 도로가 있다. 도로를 따라가면 어떤 장소에서든 다른 모든 장소에 갈 수 있다. 각 도로는 두 장소를 잇는다.

시의회는 가장 큰 펍 U Nacpané Myši에서 긴급 회의를 열었다. 쥐들이 도시를 가로지르며 일정한 패턴으로 움직이는 것이 확인되었다. 각 쥐는 정확히 두 개의 굴을 가지고 있고, 그 두 굴 사이만 오간다. 각 굴은 장소 중 한 곳에 있다. 또한 쥐는 평소 다니는 경로의 대략 중간쯤에서 취약해진다는 사실도 관찰되었다. 형식적으로 쓰면, 쥐의 굴이 장소 AA와 BB에 있을 때, 장소 CC가 AA에서 BB로 가는 경로 위에 있고 ∣d(C,A)−d(C,B)∣≤1|d(C, A)-d(C, B)| \le 1을 만족할 때에만 쥐는 CC에서 취약하다. 여기서 d(X,Y)d(X, Y)는 XX에서 YY까지 경로 위의 도로 개수다. 쥐가 취약한 장소는 여러 곳일 수 있고, 자기 굴에서도 취약할 수 있다.

마을은 도시 곳곳에 감시 고양이를 배치하기로 했다. 감시 고양이는 쥐가 취약한 장소에 앉아 있으면 그 쥐를 쫓아낼 수 있다. 고양이 한 마리가 쫓아낼 수 있는 쥐의 수에는 제한이 없다. 감시 고양이는 게을러서 정해진 장소에 앉아 있을 뿐 자리를 옮기지 않는다.

감시 고양이는 비싸기 때문에 시의회는 구입할 고양이 수를 최소로 하려 한다. 이 일을 도와달라.

입력

첫 줄에 두 정수 NN과 KK가 주어진다(2≤N≤1052 \le N \le 10^5, 0≤K≤1050 \le K \le 10^5). 각각 장소의 수와 쥐의 수다.

이어지는 N−1N - 1개의 줄에는 두 정수 UU와 VV(0≤U,V≤N−10 \le U, V \le N - 1)가 주어진다. 장소 UU와 VV가 도로로 직접 연결되어 있다는 뜻이다.

이어지는 KK개의 줄에는 두 정수 PP와 QQ(0≤P,Q≤N−10 \le P, Q \le N - 1)가 주어진다. 쥐 한 마리의 굴이 장소 PP와 QQ에 있다는 뜻이다. P≠QP \ne Q가 보장된다.

출력

모든 쥐를 결국 쫓아낼 수 있도록 배치해야 하는 감시 고양이의 최소 마리 수를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    7 5
    0 1
    0 2
    2 5
    1 4
    4 6
    1 3
    1 6
    1 3
    3 2
    1 5
    2 5
    
    예상 출력
    3