首页 新闻 会员 周边 捐助

不会!请求教

0
[已解决问题] 解决于 2021-04-11 11:41
  1. 橘仔吃水果
    时间限制: C/C++/Pascal 1000 ms; Others 2000 ms

内存限制: 256 MB

题目描述:
橘仔是一只非常爱吃水果的猫仔

有 n 棵果树, m 条路径将他们全部相连,橘仔会从任意一棵果树下开始出发,去往所有果树吃水果。

但是每天会有 k 只狗仔站在k条道路上,形成“拦路狗”,橘仔不敢在有“拦路狗”的路上走。

给定 n 棵果树,编号为 1~n,给定 m 条路径,编号为 1~m,给定 t 天中每天 k 个“拦路狗”所在的道路编号,问橘仔每天吃到所有果树的水果所经过的路径的长度总和最小是多少(在计算和时,同一条路径只会被计算一次)

输入格式:
第一行四个正整数 n , m , k , t

接下来 m 行,每行三个正整数 u , v , w表示编号为 1~m 的路径的起点、终点、权值。

接下来 t 行,每行k个正整数,代表当前这一天“拦路狗”所在的道路的编号。(1~m之间)

输出格式:
输出 t 行,每行一个整数,代表每天所走过的路径的长度总和最小值是多少

如果无法吃到所有水果,那么输出-1

样例:
inputCopy
4 4 1 1
1 2 1
2 3 2
2 4 3
3 4 4
4
outputCopy
6
数据范围及提示
对于100%的数据,n <= 104 , m <= 105 , w <= 105 ,t <= 10 , k <=m

Euclid·Guisi的主页 Euclid·Guisi | 菜鸟二级 | 园豆:352
提问于:2021-04-11 11:40
< >
分享
最佳答案
0

发发发发发发

Euclid·Guisi | 菜鸟二级 |园豆:352 | 2021-04-11 11:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册