比赛场次 646
比赛名称 郑州市创意编程大赛复现赛
比赛状态 已结束比赛成绩
开始时间 2024-11-25 18:00:00
结束时间 2024-11-25 18:05:00
开放分组 全部用户
注释介绍
题目名称 距离
输入输出 distance.in/out
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分

距离

★★   输入文件:distance.in   输出文件:distance.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

在一个村子里有 $N$ 栋房屋,有一些双向道路连接着他们。每天,人们总喜欢这样问:“如果想从房子 $A$ 走到房子 $B$ 有多远?”这个通常很难回答。但幸运的是,这个村里的答案始终是唯一的,因为道路的建造方式是每两栋房屋之间都有一条唯一的简单路径(“简单”意味着您不能经过某房屋两次)。

请你帮忙回答所有好奇的人。

【输入格式】

输入文件第一行有两个数 $n(2≤n≤10000)$ 和 $m(1≤m≤20000)$,表示房屋数和问题数。

接下来,有 $n-1$ 行,每行由 $3$ 个数构成 $i,j,k$,由空格隔开,意思是房子 $i$ 和房子 $j$ 之间距离为 $k(0<k≤100)$。房子用 $1~n$ 来标记。

下面有 $m$ 行,每行有两个不同的整数 $i$ 和 $j$,你需要回答房子 $i$ 和房子 $j$ 之间的距离。

【输出格式】

输出有 $n$ 行,每行表示个一个问题的答案。

【样例输入1】

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

【样例输出1】

10
25

【样例输入2】

2 2
1 2 100
1 2
2 1

【样例输出2】

100
100

【数据规模】

$100$%的数据,$9000<=n<=10000,10000<=m<=20000$.