描述:
校园里有N(1≤N≤500)台计算机,现在我们测得这些计算机两两之间的Ping时间,得到对称矩阵Pij(1≤
i,j≤N)。现在,我们需要用若干直连线将这N台计算机连接起来,使得任意两台计算机之间可直接或间接
地通信。我们认为,计算机A可以和自身通信,Ping时间规定为0;若A和B之间有直连线且Ping时间为p,则
B和A的Ping时间也为p;若A和B之间可以通信,B和C之间可以通信,则A和C之间可间接通信(A≠B≠C)。
对于每一种连接方案,记T=max{Pij|i和j可直接通信}。请你编程计算所有连接方案中T的最小值。
输入
输入数据的第一行为一个整数N(1≤N≤500),表示计算机数目;
接下来是一个N×N的对称正整数矩阵,表示计算机两两之间的Ping时间,整数的范围不超过5000。
注意:数据量大,强烈建议使用scanf()读入,C++流输入会浪费大量时间。
输出
输出数据只有一个整数,为T的最小值。
样例:
输入:
6
0 1009 2833 2387 3333 3917
1009 0 1349 2600 2950 2437
2833 1349 0 2763 4484 1555
2387 2600 2763 0 2675 3632
3333 2950 4484 2675 0 4607
3917 2437 1555 3632 4607 0
输出:
2675