#3951. 最优布线问题

最优布线问题

题目描述

学校有 nn 台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们有数据线连接。由于计算机所处的位置不同,不同的两台计算机的连接费用往往是不同的。

当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接地通过若干台计算机(作为中转)来实现与另一台计算机的连接。

现在由你负责连接这些计算机,任务是使任意两台计算机都连通(不管是直接的或间接的)。

输入格式

第一行为一个整数 nn,表示计算机的数目(2n1002 \le n \le 100)。
接下来的 nn 行,每行包含 nn 个整数,构成一个 n×nn \times n 的矩阵。第 x+1x+1 行第 yy 列的整数表示直接连接第 xx 台计算机和第 yy 台计算机的费用(为 00 表示本机连接,无意义;其余为不超过 10001000 的正整数)。输入保证矩阵对称。

输出格式

一个整数,表示最小的连接费用。

样例

3
0 1 2
1 0 1
2 1 0
2

样例解释
连接第 11 台和第 22 台计算机(费用 11),再连接第 22 台和第 33 台计算机(费用 11),总费用为 22,即可使三台计算机互相连通。

数据范围

  • 2n1002 \le n \le 100
  • 连接费用为不超过 10001000 的非负整数(本机连接费用恒为 00)。