📘 Mô tả
Có N
con bò (1 ≤ N ≤ 10^5
), để thuận tiện ta đánh số từ 1 → N
, đang ăn cỏ trên N
đồng cỏ, để thuận tiện ta cũng đánh số các đồng cỏ từ 1 → N
. Biết rằng con bò i
đang ăn cỏ trên đồng cỏ i
.
Một vài cặp đồng cỏ được nối với nhau bởi 1 trong N - 1
con đường 2 chiều mà các con bò có thể đi qua. Con đường i
nối 2 đồng cỏ Ai
và Bi
(1 ≤ Ai, Bi ≤ N
) với độ dài là Li
(1 ≤ Li ≤ 10000
).
Các con đường được thiết kế sao cho với 2 đồng cỏ bất kỳ đều có duy nhất 1 đường đi giữa chúng. Như vậy các con đường này đã hình thành 1 cấu trúc cây.
Các chú bò rất có tinh thần tập thể và muốn được thăm thú thường xuyên. Vì vậy lũ bò muốn bạn giúp chúng tính toán độ dài đường đi giữa Q
(1 ≤ Q ≤ 1000
) cặp đồng cỏ (mỗi cặp được mô tả là 2 số nguyên p1, p2
(1 ≤ p1, p2 ≤ N
)).
📥 Input
- Dòng 1: 2 số nguyên cách nhau bởi dấu cách:
N
vàQ
- Dòng 2 đến N: Dòng
i + 1
chứa 3 số nguyên cách nhau bởi dấu cách:Ai, Bi, Li
- Dòng
N + 1
đếnN + Q
: Mỗi dòng chứa 2 số nguyên khác nhau cách nhau bởi dấu cách mô tả 1 yêu cầu tính toán độ dài đường đi giữa 2 đồng cỏ mà lũ bò muốn đi thăm qua lạip1
vàp2
.
📤 Output
In ra Q
dòng, mỗi dòng là độ dài đường đi giữa 2 đồng cỏ tương ứng với yêu cầu thứ i
.
🧪 Ví dụ
Input:
4 2 2 1 2 4 3 2 3 2 4 1 2 3 1
Output:
2 6
Comments