Cho một cây gồm \(N\) đỉnh được đánh số từ \(1\) đến \(N\) và \(N - 1\) cạnh.
Một thành phần liên thông trong cây là một tập các đỉnh sao cho có thể di chuyển giữa \(2\) đỉnh bất kì trong tập với các cạnh có cả hai đầu là \(2\) đỉnh thuộc tập.
Yêu cầu của bạn là: đếm số lượng tập đỉnh liên thông trong cây có đúng \(K\) đỉnh.
Lưu ý: Hai tập đỉnh được coi là khác nhau khi có một đỉnh thuộc tập này nhưng không thuộc tập kia.
Input
- Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\) \((1 \le N \le 5000, 1 \le K \le N)\).
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u\) và \(v\) \((1 \le u, v \le N)\), thể hiện một cạnh trong cây.
Output
In ra một số nguyên duy nhất --- số lượng tập đỉnh liên thông có đúng \(K\) đỉnh \(mod\) (\(10^9 + 7\)).
Example
Test 1
Input
5 3
1 2
1 3
2 4
2 5
Output
4
Scoring
- Subtask 1 (20 điểm): \(N \le 20\)
- Subtask 2 (30 điểm): \(N \le 300\)
- Subtask 3 (50 điểm): Không có ràng buộc bổ sung
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.