题目链接:https://vjudge.net/contest/123674#problem/F

题意:在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使每个岛屿都间接或直接与其他岛屿相同时所用的的最短时间  这就是一个简单的最小生成树的模板题,只要用了prime算法模板,但题是给出点的字母名,可以先转化为数字,在建立数组,就很容易写出来AC:

 import java.io.BufferedInputStream;
import java.util.Scanner; public class Main {
final static int N = 1 << 20;
static int n, m, a[][] = new int[105][105], b[] = new int[105], sum; public static void main(String[] args) {
Scanner s = new Scanner(new BufferedInputStream(System.in));
int i, j, t, w;
String u, v;
while (s.hasNext()) {
n = s.nextInt();
if (n == 0)
break; for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
a[i][j] = N;
m = n - 1;
while (m-- > 0) {
u = s.next();
t = s.nextInt();
while (t-- > 0) {
v = s.next();
w = s.nextInt();
i = (u.charAt(0) - 'A') + 1;
j = (v.charAt(0) - 'A') + 1;
a[i][j] = w;
a[j][i] = w;
}
} sum = 0;
prim(1);
System.out.println(sum);
}
s.close();
} static void prim(int u) {
int i, j, min, v;
for (i = 1; i <= n; i++) {
b[i] = a[u][i]; }
sum = 0;
b[u] = -1;
for (i = 1; i <= n; i++) {
min = N;
v = -1;
for (j = 1; j <= n; j++) {
if (b[j] >0 && b[j] < min) {
v = j;
min = b[j];
}
}
if (v != -1) {
sum += b[v]; b[v] = -1;
for (j = 1; j <= n; j++) {
if (b[j] != -1 && a[v][j] < b[j])
b[j] = a[v][j];
}
}
} } }

2016huasacm暑假集训训练三 F - Jungle Roads的更多相关文章

  1. 2016huasacm暑假集训训练五 F - Monkey Banana Problem

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F 题意:求至上而下一条路径的所经过的值得和最大值,这题比赛时就出了 但当时看不懂题 ...

  2. 2016huasacm暑假集训训练三 G - 还是畅通工程

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/G 这题和上一道题差不多,还更简单点,直接用prim算法就行,直接贴AC代码: im ...

  3. 2016huasacm暑假集训训练三 D - Invitation Cards

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/D 题意:一张个向图,求从点1开始到其他各点的最短路权值和加上从其他各点到点1的最短 ...

  4. 2016huasacm暑假集训训练三 C - Til the Cows Come Home

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/C N题目大意是有n个点,然后给出从a点到b点的距离,a和b是互相可以抵达的,则是无 ...

  5. 2016huasacm暑假集训训练三 B-Frogger

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/B 题意:一只青蛙在湖中一颗石头上, 它想去有另一只青蛙的石头上,但是 湖里的水很脏 ...

  6. 2016huasacm暑假集训训练五 J - Max Sum

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 ...

  7. 2016huasacm暑假集训训练四 DP_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/M 题意:有N件物品和一个容量为V的背包.第i件物品的费用是体积c[i],价值是w[ ...

  8. 2016huasacm暑假集训训练四 数论_A

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...

  9. 2016huasacm暑假集训训练四 递推_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/B 题意:给定n个三角形,问最多可以把区域化成多少个部分,这是一个一维空间  一定会 ...

随机推荐

  1. C和指针 第九章 字符串 字符 字节

    C语言中没有字符串类型,字符串是以NUL结尾的字符数组组成的. 高级字符串查找: //计算字符串起始部分,有多少字符是在group中 size_t strspn(char const * str, c ...

  2. Effective C++ 34 区分接口继承和实现继承

    public继承从根本上讲,有两部分:接口继承和实现继承.两者之前的区别很像函数声明与函数定义. 具体设计中,会呈现三种形式:derived class只继承成员函数的接口(纯虚函数):derived ...

  3. QuickSort 快速排序 基于伪代码实现

    本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4737492.html 伪代码 quicksort(A, lo, hi) if lo < hi p ...

  4. @echo off 与echo off

    echo off 关闭其他命令的显示(但是不包括自身这条命令) @echo off 关闭所有命令的显示(@关闭其后命令的显示)

  5. Eclipse 设置SVN忽略文件

    1.在 Eclipse 中点击菜单 window --> Preferences --> Team --> Ignored Resources 2.在Eclipse的导航视图中,选中 ...

  6. 在虚拟机下安装hadoop集成环境(centos7+hadoop-2.6.4+jdk-7u79)

    [1]64为win7系统,用virtualbox建立linux虚拟机时,为什么没有64位的选项? 百度 [2]在virtualbox上安装centos7 [3]VirtualBox虚拟机网络环境解析和 ...

  7. Socket通信(二)

    程序下载地址: http://download.csdn.net/detail/u010312811/9683748 1.基本流程 服务器:(1)用指定的端口号和服务器的IP建立一个EndPoint对 ...

  8. 2016ACM/ICPC亚洲区沈阳站-重现赛赛题

    今天做的沈阳站重现赛,自己还是太水,只做出两道签到题,另外两道看懂题意了,但是也没能做出来. 1. Thickest Burger Time Limit: 2000/1000 MS (Java/Oth ...

  9. iOS 图形处理 Core Graphics Quartz2D 教程

    Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染.该框架可以用于基于路径的 绘图.变换.颜色管理.脱屏 ...

  10. 安装学习nginx记录

    通过查看nginx目录下的log文件,发现80端口没有权限使用 查找文章发现: netstat -aon|findstr ":80" 有的进程ID占用多了80端口,看监听的端口 启 ...