编程题
### 问题描述 给定一个无向加权图 $G(V, E)$,其中 $V$ 是图的顶点集,$E$ 是图的边集,你的任务是找到该图的次小生成树的总权值。 **定义**: 1. **生成树**:一个无环的子图,其中包含图的所有顶点和 $|V| - 1$ 条边。 2. **最小生成树**:权值和最小的生成树。 3. **次小生成树**:权值和**仅次于且不等于**最小生成树的生成树,其结构(即树的形状或组成)与最小生成树不同。 你需要计算次小生成树的权值和。 ### 输入格式 第一行包含两个整数 $n$ 和 $m$,表示图中的节点数和边数。节点从 $1$ 到 $n$ 编号。 接下来的 $m$ 行,每行包含三个整数 $u$、$v$ 和 $w$,表示节点 $u$ 和节点 $v$ 之间有一条权值为 $w$ 的无向边。 ### 输出格式 输出一个整数,表示次小生成树的权值。如果不存在次小生成树,则输出 $-1$。 ### 样例输入 ``` 4 5 1 2 1 1 3 2 2 3 3 2 4 4 3 4 2 ``` ### 样例输出 ``` 6 ``` ### 样例说明 图中的最小生成树由边 $(1,2)$、$(1,3)$ 和 $(3,4)$ 构成,权值为 $5$。 如果去掉边 $(1,2)$ 并添加边 $(2,3)$,得到的生成树权值为 $7$。 如果去掉边 $(1,3)$ 并添加边 $(2,3)$,得到的生成树权值为 $6$。 如果去掉边 $(3,4)$ 并添加边 $(2,4)$,得到的生成树权值为 $7$。 因此,次小生成树的权值为 $6$。 ### 测评数据规模 对于 $40$% 的数据,$n \leq 10$。 对于 $80$% 的数据,$n \leq 50$。 对于 $100$% 的数据,$1 \leq n \leq 100$,$n \leq m \leq 10^3$,$1 \leq w \leq 10^5$。
查看答案
赣ICP备20007335号-2