트리 위에서 뛰기
시간 제한4초메모리 제한512 MB
트리와 정수 d가 주어질 때, 간선 d개 거리에 있는 정점끼리 이동으로 이어지는 정점 묶음의 개수를 구합니다.
문제
정점이 개인 트리가 주어진다. 현재 정점이 에 있다고 하자. 한 번의 이동에서 와 사이의 최단 경로에 있는 간선이 정확히 개인, 와 다른 임의의 정점 로 이동할 수 있다. 0번 이상의 이동으로 에서 로 갈 수 있으면 는 에서 도달 가능하다.
모든 정점은 도달 클래스로 나눌 수 있다. 도달 클래스는 정점 집합 로서, 에 속한 임의의 정점이 의 다른 모든 정점에서 도달 가능하고, 밖의 정점은 의 어떤 정점에서도 도달할 수 없는 집합이다. 주어진 트리에 도달 클래스가 몇 개 있는지 구하라.
입력
첫 줄에 공백으로 구분된 두 정수 과 가 주어진다 (, ).
이후 개의 줄에 트리의 간선이 주어진다. 각 줄에는 간선으로 연결된 두 정점의 번호가 공백으로 구분되어 주어진다. 정점 번호는 1부터 시작한다.
출력
도달 클래스의 개수를 정수 하나로 출력한다.