#P16071. [ICPC 2023 NAC] Broken Minimum Spanning Tree
[ICPC 2023 NAC] Broken Minimum Spanning Tree
题目描述
Ethan 的任务是在一个带权连通无向图中找到一棵最小生成树。然而,他误解了任务,找到了一棵可能并非最小的生成树。为了让他的生成树成为最小生成树,你需要执行一系列边交换操作。一次边交换操作会从当前生成树中删除一条边,并从图中添加一条当前不在生成树中的边。每次交换后,得到的图仍然必须是一棵生成树。请问,修复 Ethan 的生成树使其成为最小生成树所需的最少边交换次数是多少?
输入格式
输入的第一行包含两个整数 ()和 (),其中 是图中的节点数, 是图中的边数。节点编号为 到 。
接下来的 行,每行包含三个整数 、()和 (),表示连接节点 和 的一条权值为 的边。边的编号按输入顺序从 到 。
保证图是连通的。输入的前 条边是 Ethan 最初得到的生成树。图可能不是简单图,即同一对节点之间可能存在多条边。
输出格式
输出第一行一个整数 ,表示将生成树变为最小生成树所需的最少边交换次数。接下来输出 行,每行两个整数 和 ,其中 是要删除的边的编号, 是要添加的边的编号。如果有多组 次交换的方案,输出任意一组即可。
4 4
1 2 10
2 3 3
3 4 1
1 4 4
1
1 4
提示
翻译由 DeepSeek V3.2 完成