#P2912. [USACO08OCT] Pasture Walking G

[USACO08OCT] Pasture Walking G

Description

The NN cows (2N1,0002 \le N \le 1,000), conveniently numbered 11NN, are grazing among the NN pastures also conveniently numbered 11NN. Most conveniently of all, cow ii is grazing in pasture ii.

Some pairs of pastures are connected by one of N1N - 1 bidirectional walkways that the cows can traverse. Walkway ii connects pastures AiA_i and BiB_i (1AiN;1BiN1 \le A_i \le N; 1 \le B_i \le N) and has a length of LiL_i (1Li10,0001 \le L_i \le 10,000).

The walkways are set up so that between any two distinct pastures, there is exactly one path of walkways that travels between them. Thus, the walkways form a tree.

The cows are very social and wish to visit each other often. Being in a hurry, they want you to help schedule their visits by computing the lengths of the paths for QQ pairs of pastures (1<Q<1,0001 < Q < 1,000). Each pair is given as a query p1p1, p2p2 (1p1N;1p2N1 \le p1 \le N; 1 \le p2 \le N).

Input Format

  • Line 1: Two space-separated integers NN and QQ.
  • Lines 22NN: Line i+1i+1 contains three space-separated integers AiA_i, BiB_i, and LiL_i.
  • Lines N+1N+1N+QN+Q: Each line contains two space-separated integers representing two distinct pastures between which the cows wish to travel: p1p1 and p2p2.

Output Format

  • Lines 11QQ: Line ii contains the length of the path between the two pastures in query ii.
4 2 
2 1 2 
4 3 2 
1 4 3 
1 2 
3 2 

2 
7 

Hint

Query 1: The walkway between pastures 11 and 22 has length 22.

Query 2: Travel through the walkway between pastures 33 and 44, then the one between 44 and 11, and finally the one between 11 and 22, for a total length of 77.

Translated by ChatGPT 5