스크루지 민호 2
면접 대비시간 제한2초메모리 제한512 MB
도시 N개로 이루어진 트리에서 모든 도시와 모든 도로가 감시되도록 경찰서를 최소 몇 곳 세워야 하는지 구한다. 경찰서는 자기 도시, 이웃 도시, 그리고 연결된 도로를 감시한다.
문제
구두쇠로 소문난 민호가 다스리는 천나라에는 도시가 개 있다. 민호는 도로를 놓는 비용을 아끼려고 도로를 개만 놓았고, 그래서 어느 두 도시 사이에도 도로를 따라가는 경로가 정확히 하나씩 있다. 도로는 모두 양방향이다.
도시를 다 세운 민호는 이제 경찰서를 짓는다. 모든 도시에 짓기는 아까워서 몇몇 도시에만 짓기로 했지만, 감시가 닿지 않는 도시나 도로가 남으면 시민이 반란을 일으킬까 걱정이다.
어떤 도시에 경찰서를 지으면 그 도시와, 그 도시에서 도로 하나로 이어진 도시와, 그 도시에 닿아 있는 도로를 감시한다. 즉 도로는 양 끝 도시 중 한 곳에라도 경찰서가 있어야 감시되고, 도시는 자기 자신이나 도로 하나로 이어진 이웃 중 한 곳에 경찰서가 있어야 감시된다.
모든 도시와 모든 도로가 감시되도록 경찰서를 지을 때, 경찰서가 필요한 도시의 최소 개수를 구하라.
입력
첫째 줄에 도시의 수 ()이 주어진다.
다음 개의 줄에 도로가 한 줄에 하나씩 주어진다. 각 줄에는 공백으로 구분된 두 정수 , (, )가 있고, 도시 와 도시 가 도로 하나로 이어져 있다는 뜻이다. 주어지는 도로는 항상 트리를 이룬다.
출력
첫째 줄에 경찰서를 지어야 하는 도시의 최소 개수를 출력한다.