编程题
### 问题描述
在一个城市中,有 $n$ 个交叉口和 $m$ 个道路。由于一个大地震,一些道路被毁了。现在,你被任命为重建城市的负责人,并且需要决定哪些被毁的道路需要重建以确保所有的交叉口都是互相连通的。由于预算有限,你希望最小化重建道路的总成本。
每条道路都有三个属性:
起点交叉口的编号 $u$。
终点交叉口的编号 $v$。
修复这条道路所需的成本 $w$。
你需要确定哪些道路需要重建,以确保所有交叉口都是连通的,并且总成本最小。
### 输入格式
第一行包含两个整数 $n$ 和 $m$,分别表示交叉口的数量和道路的数量。
接下来的 $m$ 行,每行包含三个整数 $u$, $v$, $w$,表示一条道路连接了交叉口 $u$ 和交叉口 $v$ ,修复这条道路的成本为 $w$。
### 输出格式
输出一个整数,表示重建道路的最小总成本。
### 样例输入
```
5 6
1 2 3
2 3 4
3 4 5
4 5 6
1 3 2
2 4 1
```
### 样例输出
```
12
```
### 评测数据范围
$1 \leq n, m \leq 10^5$, $1 \leq w \leq 10^3$。