C. 跑图

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

最近vvvb沉迷某游戏,而游戏中繁杂的支线任务需要vvvb操控主角频繁在不同地点间奔波,还不允许快速传送,这让他非常恼火。

现在,已知该游戏大地图上共包含nn个地点,这nn个地点互相之间通过mm条道路连接,每条道路都有长度,整个大地图保证是连通的。现在vvvb位于他的家中(1号地点),他手上共接取了qq个支线任务,他打算先完成全部支线任务后再去冲主线。每个支线都需要你依序前往若干个地点,这些地点可能包含重复地点,现在vvvb想请你给他一种最好的方案,使得他完成全部支线任务需要跑的路最少。

输入格式

本题为多组样例,第一行一个正整数TT 1T101\leq T\leq 10表示数据组数。

对于每组数据,第一行三个正整数n,m,q(3n100,n1mn(n1)2,1q5)n,m,q (3\leq n\leq 100, n-1\leq m\leq \frac{n(n-1)}{2},1\leq q\leq 5),分别表示地图上地点数目,道路数目和vvvb接取的支线数目。

接下来mm行每行包含三个正整数u,v,w(1u,vn,1w100)u,v,w(1\leq u,v\leq n, 1\leq w\leq 100),表示地点uu和地点vv之间存在一条长度为ww的道路。

接下来qq行,每行表示一个支线,首先一个正整数k(1k9)k(1\leq k\leq 9),表示完成该支线一共需要前往的地点数目,然后跟随kk个正整数依次表示这kk个地点。

输出格式

对于每组数据输出一行一个正整数表示vvvb完成全部支线最少需要跑多少长度的路。

样例

输入样例

2
4 4 2
1 2 2
1 3 1
2 3 5
3 4 2
3 2 4 1
4 2 3 4 2
3 2 1
1 2 2
2 3 1
3 2 3 1

输出样例

12
6

样例说明

按照如下顺序跑支线最佳(数字代表地点,括号里为对应的支线序号):

样例1:2(1)-2(2)-3(2)-4(2)-4(1)-1(1)-2(2)

样例2:2(1)-3(1)-1(1)