#888. 谷仓逃亡

谷仓逃亡

谷仓逃亡(runaway.cpp)

时间限制:1000ms 空间限制:256M

【题目描述】

Farmer John要给他的奶牛投食了,结果奶牛全跑了。FJ的农场一共有n块草地,由n-1条有向边连接,谷仓设在1号草地,且从1号草地可以通过某些路径到达任意其它草地上。

FJ的奶牛今天早上都还在各自的草地上,谁知他们全跑了,但FJ的奶牛特别懒,他们每次都不会跑超过L的距离,并且奶牛会向远离谷仓的方向逃跑。FJ想知道,对于每块草地而言,如果一只奶牛从这块草地出发,它最后可能停留的草地有几个?

【输入格式】

第一行输入两个整数n和L。

接下来n-1行每行包含2个整数pi和wi,pi代表结点i的父亲,wi代表连接结点i与pi的边权。(从2号点开始输入)

【输入格式】

输出n行,每行一个整数,第i行表示一头奶牛从第i块草地出发能跑到的草地的个数(奶牛可以停在草地i上)。

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

【数据范围说明】

对于30%的数据:N≤10;

对于另10%的数据:N≤1000;

对于100%的数据:N≤10^5