树形路线走起
算法描述
- 输入是一个具有n个结点的树
vertices,标记为0 - n-1 - 使用
parent变量描述该树,parent具有n-1个元素 - 每个vertices(i+1)和parent(i)组成一个边
- 小明站在0结点上,小明每一步可以从所站结点移动到附近结点
- 小明允许移动
L步 - 返回小明在移动过程中可以访问的最大结点数
- 过程中重复访问的结点只计算一次
参数定义
- 类名
WalkOverATree - 方法
maxNodesVisited - 输入参数
vector <int>, int - 输出
int - 方法声明
int maxNodesVisited(vector <int> parent, int L)
限制条件
-
parent包含[0,49]个元素 -
parent[i]的范围在[0,i]之间 - L在[1,100]之间
例子
- 输入
- parent: {0, 0}
- L
- 输出
- 2
测试实例
-
实例一
- 输入
- {0, 0}
- 3
- 输出
- 3
- 输入
-
实例二
- 输入
- {0, 1, 2, 3}
- 2
- 输出
- 3
- 输入
-
实例三
- 输入
- {0,0,0,0,2,4,2,3,1}
- 1
- 输出
- 2
- 输入
-
实例四
- 输入
- {0,0,1,2,3,2,3,1,3,0,1,8,6,8,0,5,15,0,9}
- 4
- 输出
- 5
- 输入
图解
-
实例五
- 输入
- {0,0,0,1,1,3,5,1,4,5,2,2,10,5,10,10,11,13,8,3,18,15,20,20,23,8,11,26,4}
- 26
- 输出
- 17
- 输入
-
实例六
- 输入
- {0, 0, 2, 0}
- 100
- 输出
- 5
- 输入
-
实例七
- 输入
- {0, 0, 2}
- 4
- 输出
- 4
- 输入