#2100. 精灵的家族会议
精灵的家族会议
森精灵的家族会议
森精灵是个很长寿的种族,一个森精灵家族内部往往很多代人共同生活。
这一天族长要召开家族会议,他召集自己 d 代以内的直系子孙都来参加。之后每位子孙又会召集自己 d 代内的直系子孙召开家庭内部会议。现在已知家族中的成员关系,你能求出对于每位成员所召开的会议,分别有多少名成员需要参加吗?
为了方便统计,我们设家族成员编号为 0∼n−1 ,其中族长编号为 0 。
输入格式
第一行输入两个数 n,d ,其中 n 表示族长与其直系子孙的总人数, d 表示 d 代以内的子孙需要参会; 第二行输入 n−1 个数,第 i 个数 a[i] 表示编号为 i 的成员的父辈是谁,以空格隔开;
输出格式
输出共 n 行,每行一个数,表示第 i−1 位成员(族长或其子孙)所召开的会议,需要参加的人数。
输入样例
5 1
0 0 2 2
输出样例
3
1
3
1
1
数据范围
对于 100% 的数据, ;
样例解释
样例中的家族关系如图所示, d=1 ,
则族长(成员 0) 的会议有 0,1,2 ,共 3 人参加;
成员 1,3,4 的会议只有本人参加;
成员 2 的会议有 2,3,4 ,共 3 人参加。