#TT20251001. 遍历二叉树
遍历二叉树
背景
你是一只专门吸收二叉树能量的虫子,二叉树的能量都存储在边上,不同的边含有的能量不同。除了你可以正常的跟着边移动,你还有一个特殊能力,即当你位于二叉树的某一节点时,你可以传送到任意一个二叉树节点,你还有一个原则,就是绝不去已经去过的地方。现在你要到达这棵二叉树的某一叶子节点上,途中还要吸收尽可能多的能量。
题目描述
在一棵含有 个节点,以 为根的二叉树上,你可以从任意位置开始出发,目的是到达一叶子节点 。二叉树的每条边都含有一个能量值 ,当你经过一条边时你就可以获得当前边的能量。你可以沿着边移动,或者是发动任意次特殊能力。
当你位于节点上时才可以发动特殊能力,传送到另一节点上。(这样两个节点都算被你经过过了)
你的原则是绝不去已经去过的地方。
现在需要你回答,在到达目的地之前,途中能获得的最大能量之和为多少。
格式
输入
第一行两个整数 ,表示二叉树的节点个数和目的地编号。 (,保证 为叶子节点)
接下来 行,第 行输入三个整数 ,表示 和 节点之间的边含有 的能量。(,)
输出
一行一个整数,表示最大能量。
样例
7 6
1 2 5
1 3 10
2 4 10
2 5 10
3 6 10
3 7 5
40
样例解释
从 出发,移动 ,传送到 ,移动,一共获得点能量。