问题 CE: Constructing Roads
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:40
解决:26
题目描述
有n个村庄,编号从1到n,要修建一些道路,使得每两个村庄都可以互相连通。若两个村庄a和b是连通的,当且仅当a和b之间有一条路,或者存在一个村庄c,使得a和c之间有一条路,并且c和b之间也有一条路。 我们知道在一些村庄之间已经有一些道路,现在的工作是修建一些道路,使得所有村庄都是连通的,并且所修建的道路长度最小。
输入
第一行是一个整数n(3<=n<=100),这是村庄的数目。然后是n行,其中第i行包含n个整数,其中第j个整数表示i村和j村之间的距离(该距离为[1,1000]范围内的整数)。接着是一个整数Q(0<=Q<=n*(n+1)/2)。最后是Q行,每行包含两个整数a和b(1<=a<b<=n),这意味着a村和b村之间的道路已经建成。
输出
输出一个整数,该整数是要修建的所有道路的长度,使得连通所有村庄,并且该值是最小值。
样例输入 复制
3
0 990 692
990 0 179
692 179 0
1
1 2
样例输出 复制
179