站外题求助!
  • 板块灌水区
  • 楼主kissu
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/4 19:36
  • 上次更新2023/11/2 15:43:09
查看原帖
站外题求助!
775415
kissu楼主2023/10/4 19:36

【题目描述】

小 P 和小 R 是一对非常好的朋友,今天他们在玩一个模拟建设类游戏。

游戏中共有 n 个城市,通过 m 条双向道路连接。第 i 条道路连接了城市 ai 和 bi。

不幸的是,在一次巨大的灾难以后,这 m 条道路全部损坏了。修复第 i 条道路需 要 ci 天。把这些道路全部修复的代价可能太大,小 P 和小 R 只希望某 k 个城市之间 两两恢复通行。

游戏中,小 P 和小 R 拥有很多的修路工人,所以如果一个修路方案包含多条道路, 那么这些道路可以同时开工。整个工程完工的时间就是这个工程中需要时间最长的道 路的用时。

小 P 和小 R 为了给你加大难度,一共要问你 q 个这样的问题。不同的问题之间不 会互相影响,你可以认为这 q 个问题是发生在不同的平行世界中的。

【输入格式】

从文件 road.in 中读入数据。

第一行包含三个整数 n, m, q。

接下来 m 行,每行三个整数 ai , bi , ci,描述一条道路。注意道路的两端有可能是相 同的城市。

接下来 q 行,每行描述一个问题:第一个数是这个问题的 k,接下来 k 个数表示这 次问题中需要两两恢复通行的城市编号。保证 k 至少为 1;一个问题中可能多次出现同 一个城市。

【输出格式】

输出到文件 road.out 中。

输出 q 行,依次表示每一个问题的答案。

如果不需要建设任何道路,输出 0;如果无论如何也无法完成,输出 INF。

【样例 1 输入】

5 6 3

1 2 4

2 3 4

3 1 4

1 4 3

2 4 3

3 4 3

3 1 2 3

4 1 2 3 5

2 5 5

输出样例

3

INF

0

这道题需要用 最小生成树,但本蒟蒻不会写最小生成树,这就是我求助的问题。

感谢帮助。

2023/10/4 19:36
加载中...