最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

信息学奥赛题库- Dis

C++ 少儿编程 1202浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

【题目描述】

给出 $n$ 个点的一棵树,多次询问两点之间的最短距离。

注意:边是双向的。

【输入】

第一行为两个整数 $n$ 和 $m$。$n$ 表示点数,$m$ 表示询问次数;

下来 $n-1$ 行,每行三个整数 $x ,y, k$,表示点 $x$ 和点 $y$ 之间存在一条边长度为 $k$;

再接下来 $m$ 行,每行两个整数 $x, y$,表示询问点 $x$ 到点 $y$ 的最短距离。

【输出】

输出 $m$ 行。对于每次询问,输出一行。

【输入样例】

2 2 
1 2 100 
1 2 
2 1

【输出样例】

100
100

【提示】

样例输入 2

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

样例输出 2

10
25

数据范围与提示:

对于全部数据,$2≤n≤10^4 ,1≤m≤2×10^4 ,0<k≤100,1≤x,y≤n$。

您必须 登录 才能发表评论!