每个测试文件均包含多组测试数据。第一行输入一个整数
代表数据组数,每组测试数据描述如下:
第一行输入一个整数
,表示岛屿的个数。
第二行输入
个整数
,表示编号为
的岛屿上有
单位的能量。
此后
行,第
行输入三个整数
![]()
![]()
![]()
,表示第
条双向道路连接编号为
的岛屿与编号为
的岛屿,且每当袋鼠将军走过这条道路,它都会损失
单位的能量。
第
行输入一个整数
,表示询问的次数。
此后
行,第
行输入两个整数
,表示第
次询问中,袋鼠将军的起始位置为编号为
的岛屿,最终需要到达编号为
的岛屿。
除此之外,保证单个测试文件的
之和、
之和均不超过
。保证任意一条道路连接两个不同的岛屿,任意两个岛屿之间最多存在一条道路,任意两个岛屿之间可以通过道路相互抵达。
对于每组数据,新起一行输出
个整数
,其中第
个整数
表示对于第
次询问,袋鼠将军在逃离环扎阿越王国时最多能剩下多少能量。
注意:对于 Python 选手,单链的情况可能导致递归爆栈,请注意代码实现。