#886. 八卦的奶牛(cow.cpp)

八卦的奶牛(cow.cpp)

八卦的奶牛(cow.cpp)

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

【题目描述】

有N只奶牛,编号1-N,有N-1无向条边,奶牛可沿着这些边去和其他奶牛聊天。现在这N只奶牛建立了K个八卦小团体,当然,每只奶牛都在一个小团体中。第i只奶牛属于第Xi个小团体,每个团体至少2只奶牛。这些小团体之间特别爱互相八卦,经常吵架。

我们定义一个小团体的势力范围是这个团体内最远的两头奶牛的距离,现在,请告诉我们每个小团体的势力范围。

【输入格式】

第一行包含两个正整数N和K。

接下来N行每行包含两个正整数Xi和Pi。分别代表第i只奶牛所属的团体Xi和他的父亲节点Pi。如果Pi为0,代表这是根节点。

【输入格式】

输出K行,每行一个正整数,代表第i个团体的势力范围。

6 2
1 3
2 1
1 0
2 1
2 1
1 5
3
2

【数据说明】

对于30%的数据:2<=N<=100,1<=K<=20,1<=Xi<=K

对于60%的数据:2<=N<=100000,1<=K<=100,1<=Xi<=K

对于100%的数据:2<=N<=200000,1<=K<=N/2,1<=Xi<=K