题单练习 GESP八级真题-编程题

A6483 | [GESP202509 八级] 最小生成树

来源2025
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

给定一张包含 $n$ 个结点 $m$ 条边的带权连通无向图,结点依次以 $1,2,\ldots,n$ 编号,第 $i$ 条边($1\le i\le m$)连接结点 $u_i$ 与结点 $v_i$,边权为 $w_i$。

对于每条边,请你求出从图中移除该条边后,图的最小生成树中所有边的边权和。特别地,若移除某条边后图的最小生成树不存在,则输出 $-1$。

输入格式

第一行,两个正整数 $n,m$,分别表示图的结点数与边数。

接下来 $m$ 行中的第 $i$ 行($1\le i\le m$)包含三个正整数 $u_i,v_i,w_i$,表示图中连接结点 $u_i$ 与结点 $v_i$ 的边,边权为 $w_i$。

输出格式

输出共 $m$ 行,第 $i$ 行($1\le i\le m$)包含一个整数,表示移除第 $i$ 条边后,图的最小生成树中所有边的边权和。若移除第 $i$ 条边后图的最小生成树不存在,则输出 $−1$。

输入输出样例

输入 #1
5 5
1 2 4
2 3 3
3 4 1
2 5 2
3 1 8
输出 #1
14
15
-1
-1
10
输入 #2
6 10
1 2 6
2 3 3
3 1 4
3 4 5
4 5 8
5 6 2
6 4 1
3 2 4
5 4 4
3 3 6
输出 #2
15
16
17
-1
15
17
18
15
15
15
C++ 编辑器
输入
输出