5936: 进阶2.2.2 树上距离

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:46 解决:22

题目描述

村里有n栋房子,还有一些双向的道路连接着它们。每天人们都喜欢这样问:“如果我想从A座房子到B座房子有多远?”每两栋房子之间都有一条独特的简单道路(“简单”意味着你不能通过两条道路去一个地方)。你的任务是回答所有这些好奇的人。

输入

第一行是一个整数T(T<=10),表示测试用例的数量。

对于每个测试用例,在第一行中有两个数字n(2<=n<=40000)和m(1<=m<=200),即房屋数量和查询数量。以下n-1条行分别由三个数字i、j、k组成,分隔为一个空间,这意味着有一条道路连接房屋i和房屋j,长度为k(0<k<=40000)。这些房屋的标签从1到n。

接下来的m行中每一行都有不同的整数i和j,您需要回答房屋i和房屋j之间的距离。

输出

对每个测试用例,都输出m行查询答案,在每个测试用例后都输出一个空行

样例输入 复制

2
3 2
1 2 10
3 1 15
1 2
2 3
2 2
1 2 100
1 2
2 1

样例输出 复制

10
25
100
100