스크루지 민호 2

도시 N개로 이루어진 트리에서 모든 도시와 모든 도로가 감시되도록 경찰서를 최소 몇 곳 세워야 하는지 구한다. 경찰서는 자기 도시, 이웃 도시, 그리고 연결된 도로를 감시한다.

보통7트리동적 계획법DFS그리디면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

구두쇠로 소문난 민호가 다스리는 천나라에는 도시가 NN개 있다. 민호는 도로를 놓는 비용을 아끼려고 도로를 N1N - 1개만 놓았고, 그래서 어느 두 도시 사이에도 도로를 따라가는 경로가 정확히 하나씩 있다. 도로는 모두 양방향이다.

도시를 다 세운 민호는 이제 경찰서를 짓는다. 모든 도시에 짓기는 아까워서 몇몇 도시에만 짓기로 했지만, 감시가 닿지 않는 도시나 도로가 남으면 시민이 반란을 일으킬까 걱정이다.

어떤 도시에 경찰서를 지으면 그 도시와, 그 도시에서 도로 하나로 이어진 도시와, 그 도시에 닿아 있는 도로를 감시한다. 즉 도로는 양 끝 도시 중 한 곳에라도 경찰서가 있어야 감시되고, 도시는 자기 자신이나 도로 하나로 이어진 이웃 중 한 곳에 경찰서가 있어야 감시된다.

모든 도시와 모든 도로가 감시되도록 경찰서를 지을 때, 경찰서가 필요한 도시의 최소 개수를 구하라.

입력

첫째 줄에 도시의 수 NN (2N1000002 \le N \le 100000)이 주어진다.

다음 N1N - 1개의 줄에 도로가 한 줄에 하나씩 주어진다. 각 줄에는 공백으로 구분된 두 정수 uu, vv (1u,vN1 \le u, v \le N, uvu \ne v)가 있고, 도시 uu와 도시 vv가 도로 하나로 이어져 있다는 뜻이다. 주어지는 도로는 항상 트리를 이룬다.

출력

첫째 줄에 경찰서를 지어야 하는 도시의 최소 개수를 출력한다.