#P9966. 猫咪们狂欢
猫咪们狂欢
猫咪们狂欢
Problem Description
猫咪们生活在树上。 具体来说,有 只猫咪和两棵大小为的树。猫咪编号为 ,每棵树上的节点编号也为 (编号各不相同) 。
- 树:由个点,条边构成的连通图,树的大小在这里定义为其节点数。 今晚,每只猫咪要分别选择一棵树,并待在与其编号相同的节点。 在这 只猫咪之中,有 只猫咪是狂欢猫。狂欢猫晚上不会睡觉,而是会选择开party。其他猫咪则会选择睡觉。 每条树边都有一个狂欢值,如果这条边连接的两个节点在晚上都有狂欢猫待着,这个狂欢值就会被累加到总狂欢值上。 最大化今晚的总狂欢值,并输出这个值。
Input
第一行包含一个正整数 ,表示测试用例组数。对于每一组测试用例:
- 第一行包含两个正整数 和 ,分别表示猫咪的总数和狂欢猫的数量,.
- 接下来一行包含 个整数,分别表示狂欢猫的编号,保证这 个数互不相等。
- 接下来 行,每行包含三个正整数 和 ,表示第一棵树的一条连接 且狂欢值为 的边。
- 接下来 行,每行包含三个正整数 和 ,表示第二棵树的一条连接 且狂欢值为 的边。
- 上述 .
- 对所有测试用例,.
Output
共 行,每行一个整数分别表示对应测试用例的答案。
Sample Input
2
4 3
1 2 3
1 2 1
2 3 2
2 4 1
2 3 5
2 4 1
4 1 1
4 3
1 2 3
1 2 2
2 3 1
2 4 1
2 3 2
2 4 1
4 1 1
Sample Output
5
3
Hint
- 第一组数据,狂欢猫 待在第二棵树上,得到狂欢值 .
- 第二组数据,狂欢猫 待在第一棵树上,得到狂欢值
Source
2024“钉耙编程”中国大学生算法设计超级联赛(5)