#1400. 1.桃子

1.桃子

题目限制

1000 ms 128 M

题目描述

又到了桃子成熟的季节,你自己也种了一棵桃树,今年接了N个桃子,你已经给每个桃子编了号,分别为0~N-1。这些桃子之间由N-1个树枝相连,可以从任意一个桃子的位置出发沿着树枝到达其他桃子的位置。假设你开始任意选了一个编号为K的桃子并且把这个桃子摘下来,之后每天都至少摘一个桃子或进行一次采摘活动,每次采摘都会把上一个桃子位置到目标桃子位置之间路径上的桃子都采摘下来。当然你想每次采摘活动都优先选择能摘到桃子最多的路径来摘桃子,如果多个桃子满足上面条件,优先选择编号最小的桃子,最后所有桃子都采摘完。按照上面规则,采摘桃子的顺序是?

输入格式

第一行两个数N和K。( N<=50000)

第2-N行,第i+1行的数字Ai表示i和Ai之间有一根树枝相连。

输出格式

每行一个数字,依次表示每一次采摘的位置

数据范围

对于30%的数据: N<=100

对于60%的数据: N<=1000

对于100%的数据: N<=50000,0<=K<N

输入样例

输入样例1

7 2

0

1

2

2

1

4

输出样例1

2

0

6

3

5

输入样例2

8 1

0

0

1

3

0

3

1

输出样例2

1

5

6

7

输入样例3

4 2

0

0

1

输出样例3

2

3

样例1解释

第一天最多可以吃到两个苹果,可以去编号为0或6的桃子位置,选择去0号桃子位置

第二天最多吃两个,去6号桃子位置

第三天最多吃一个,去 3号位置

第四天最多吃一个,去5号位位置