POJ 1741 Tree (树的点分治入门)

                                                                                            Tree


Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 16172   Accepted: 5272

Description

   Give a tree with n vertices,each edge has a length(positive integer less than 1001). 
Define dist(u,v)=The min distance between node u and v. 
   Give an integer k,for every pair (u,v) of vertices is called valid if and only if dist(u,v) not exceed k. 
Write a program that will count how many pairs which are valid for a given tree. 

Input

   The input contains several test cases. The first line of each test case contains two integers n, k. (n<=10000) The following n-1 lines each contains three integers u,v,l, which means there is an edge between node u and v of length l. 
   The last test case is followed by two zeros. 

Output

   For each test case output the answer on a single line.

Sample Input

5 4
1 2 3
1 3 1
1 4 2
3 5 1
0 0

Sample Output

8

view code
posted @ 2014-09-20 10:09  ForeverEnjoy  阅读(165)  评论(0编辑  收藏  举报