题单练习 树上问题

A6292 | Welcome24ever 和电路板

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

Welcome24ever 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 $1,2,3,\dots$ 进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列),也就是说这些节点构成一棵树。

在电路板上存在一个特殊的元件,称为「激发器」,它的编号为 $S$。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。中间节点接收到激励电流后,得到信息,并会立刻将激励电流传向与它连接且尚未接收到激励电流的节点。最终,激励电流将到达一些「终止节点」——接收激励电流之后不再转发的节点(在树上就是那些叶子结点)。

激励电流在导线上的传播需要花费时间。对于每条边 $e$,激励电流通过它需要的时间为 $t_e$,而节点接收到激励电流后的转发可以认为在瞬间完成。

现在要求:所有的终止节点必须同时接收到激励电流,即保持时态同步。由于当前构造并不满足这一要求,需要通过改变连接线的构造来调整。

Welcome24ever 有一个道具,使用一次该道具,可以使得激励电流通过某一条导线的时间增加 $1$ 个单位(可以对同一条导线多次使用)。问:最少需要使用多少次道具,才能使所有终止节点都在同一时刻收到激励电流?

输入格式

第一行包含一个正整数 $N$,表示电路板中节点的个数。

第二行包含一个整数 $S$,表示激发器的编号。

接下来 $N-1$ 行,每行包含三个整数 $a, b, t$,表示存在一条导线连接节点 $a$ 和节点 $b$,且激励电流通过这条导线需要 $t$ 个单位时间。

保证这些节点和导线构成一棵树。

输出格式

输出一个整数 $V$,表示 Welcome24ever 最少需要使用道具的次数。

输入输出样例

输入 #1
3
1
1 2 1
1 3 3
输出 #1
2
C++ 编辑器
输入
输出