2288. 同步购物 (Synchronous Shopping)
1000ms
256MB
中等
图的基本应用
题目描述
沿海城市 Bitville 有 $n$ 个购物中心(编号 $1 \sim n$)和 $m$ 条双向道路。每条道路连接两个不同的购物中心,通过需要花费一定的时间。
城市中一共售卖 $k$ 种不同的鱼(编号 $1 \sim k$),每个购物中心可能售卖其中的几种。
大猫和小猫从 $1$ 号购物中心出发,分头去购买这 $k$ 种鱼,并最终在 $n$ 号购物中心会合。我们希望合理规划两只猫的路线,使得两只猫都到达 $n$ 号中心时,它们**合起来**购买的鱼涵盖了所有 $k$ 种,且两只猫中**较晚到达的那只猫的用时最少**。
输入格式
- 第一行:三个整数 $n, m, k$ ($2 \le n \le 10^3$,$1 \le m \le 2 \times 10^3$,$1 \le k \le 10$)。
- 接下来 $n$ 行:每行首个整数 $t[i]$ 表示该购物中心卖的鱼的种类数,后面跟 $t[i]$ 个整数表示鱼的种类编号($1 \le {编号} \le k$)。
- 接下来 $m$ 行:每行三个整数 $u, v, w$,表示一双向路连接 $u$ 和 $v$,通行时间为 $w$。
输出格式
- 一个整数,表示集齐所有鱼且两猫均到达 $n$ 号购物中心的最小用时。
样例 1
输入 (Input)
5 5 5 1 1 1 2 1 3 1 4 1 5 1 2 10 1 3 10 2 4 10 3 5 10 4 5 10
输出 (Output)
30

$B$ 代表大猫访问的地点,$L$ 代表小猫访问的地点。
大猫可以按照 $1 \rightarrow 2 \rightarrow 4 \rightarrow 5$ 的路线旅行,并在沿途所有的购物中心购买鱼。
小猫随后可以按照 $1 \rightarrow 3 \rightarrow 5$ 的路线旅行,并且只能在第 $3$ 个购物中心向鱼贩买鱼。
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功