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

这题和上一道题差不多,还更简单点,直接用prim算法就行,直接贴AC代码:

  1. import java.io.BufferedInputStream;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5. final static int N = 1 << 20;
  6. static int n, m, a[][] = new int[105][105], b[] = new int[105], sum;
  7.  
  8. public static void main(String[] args) {
  9. Scanner s = new Scanner(new BufferedInputStream(System.in));
  10. int u, v, w, i, j;
  11. while (s.hasNext()) {
  12. n = s.nextInt();
  13. if (n == 0)
  14. break;
  15.  
  16. for (i = 1; i <= n; i++)
  17. for (j = 1; j <= n; j++)
  18. a[i][j] = 0;
  19. m = n * (n - 1) / 2;
  20. while (m-- > 0) {
  21. u = s.nextInt();
  22. v = s.nextInt();
  23. w = s.nextInt();
  24. a[u][v] = a[v][u] = w;
  25. }
  26. sum = 0;
  27.  
  28. prim(1);
  29. System.out.println(sum);
  30. }
  31. s.close();
  32. }
  33.  
  34. static void prim(int u) {
  35. int i, j, min, v;
  36. for (i = 1; i <= n; i++) {
  37. b[i] = a[u][i];
  38. }
  39. sum = 0;
  40. b[u] = -1;
  41. for (i = 1; i <= n; i++) {
  42. min = N;
  43. v = -1;
  44. for (j = 1; j <= n; j++) {
  45. if (b[j] != -1 && b[j] < min) {
  46. v = j;
  47. min = b[j];
  48. }
  49. }
  50. if (v != -1) {
  51. sum += b[v];
  52. b[v] = -1;
  53. for (j = 1; j <= n; j++) {
  54. if (b[j] != -1 && a[v][j] < b[j])
  55. b[j] = a[v][j];
  56. }
  57. }
  58. }
  59.  
  60. }
  61.  
  62. }

2016huasacm暑假集训训练三 G - 还是畅通工程的更多相关文章

  1. 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...

  2. 2016huasacm暑假集训训练三 F - Jungle Roads

    题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/F 题意:在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使 ...

  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暑假集训训练四 数论_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...

  7. 2016huasacm暑假集训训练五 H - Coins

    题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/H 题意:A有一大堆的硬币,他觉得太重了,想花掉硬币去坐的士:的士司机可以不找零,但 ...

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

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

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

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

随机推荐

  1. PHP如何判断一个gif图片是否为动画?

    首先想到的是用getimagesize()看看type,发现都是gif. 然后想gif动画是gif89格式的,发现文件开头是gif89,但是很多透明图片也是用的gif89格式. 看来必须分析文件的祯了 ...

  2. 【Alpha版本】项目总结

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬涛 031402341 王 ...

  3. 分享一个Visual Studio的背景插件,让堆码更富情趣

    忘记一件重要的事情,我使用的是VS 2012版,其他更高版本应该是可以找到的,以下版本就不清楚了.有可能找不到,见谅,也不是我开发的,只是偶尔碰到,拿出来让大家知道. 上周某日,新生命群里面还是一如既 ...

  4. Proj.4坐标系统创建参数

    Proj.4坐标系统创建参数 本文由乌合之众lym瞎编,欢迎转载blog.cnblogs.net/oloroso 本文原文地址(https://github.com/OSGeo/proj.4/wiki ...

  5. Java连接mysql数据库并插入中文数据显示乱码

    连接数据库设置编码 jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

  6. Dictionary读取键值的快捷方法

    对泛型集合Dictionary<T,T> 进行读取键值是经常的操作,一般情况下,都是通过keys 和values进行键值的读取操作: eg: foreach (var item in di ...

  7. 利用CAReplicatorLayer实现的加载动画

    在上一篇中,笔者简要介绍了CAReplicatorLayer,在本篇中,将介绍具体的实用价值. 实用CAReplicatorLayer作为核心技术实现加载动画. 首先,创建一个UIView的子类 @i ...

  8. Huffman的应用_Huffman编码

    //最优二叉树 #include <iostream> #include <iomanip> using namespace std; //定义结点类型 //[weight | ...

  9. iOS之tabBar随tableView的滑动而隐藏/显现

    ` @property(nonatomic,assign)CGFloat historyY; #pragma mark Delegate //设置滑动的判定范围 - (void)scrollViewW ...

  10. 关于readonly修饰符

    修饰字段: 1.值类型:不能修改值 2.引用类型:是指该字段引用的对象不可以修改,但是里面的内容是可以修改的! 示例: static void Main(string[] args) { Consol ...