#icpc2014springa. [icpc2014spring_a]Breadth-First Search by Foxpower
[icpc2014spring_a]Breadth-First Search by Foxpower
AT848 BFS真菜.
问题描述.
Fox Ciel骑自行车去JAG王国,然而她忘记自行车停在哪里.在回家前她需要在停车场找到自己的自行车.
停车场可以看做1个无权带根树(边权值为1.),共有n个节点,编号1~n.每个点上都可以停放很多自行车.
Ciel认为她的自行车在1号点附近,所以她决定使用BFS寻找.
具体的,BFS根据所有点到1号点的距离从近到远搜索节点.
如果有多个点距离相同,BFS会按照父节点搜索顺序,选择更早的点.
如果有多个点的父节点相同,BFS会先选择编号最小的点.
由于BFS不能像电脑1样随机访问.所以,如果BFS从顶点i走到顶点j,需要移动从i到j的距离.
她觉的BFS真是太菜了.她想问你BFS最菜的时候需要走的距离.
输入格式.
输入格式如下:
n p2 p3 p4 ... pn 第1行有1个整数n.表示树上节点总数.
第2行有n-1个整数p_i (1 <= p_i < i).表示第i个点的父亲.
由于1号节点为根,所以没有p_1.
输出格式.
输出BFS最菜的时候找到自行车走的总距离.
输入样例1.
4 1 1 2
输出样例1.
6
输入样例2.
4 1 1 3
输出样例2.
4
输入样例3.
11 1 1 3 3 2 4 1 3 2 9
输出样例3.
25
来源.
Japan Alumni Group Spring Contest 2014.