zoukankan      html  css  js  c++  java
  • 2016huasacm暑假集训训练三 G

    题目链接: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 }
  • 相关阅读:
    UI自动化测试框架
    Pyse( selenium-api的二次封装)
    Selenium之webdriverAPI
    selenium 基础之定位方式
    html综合应用
    html基础之js操作
    html基础之Dom操作
    (九)Locust 参数化
    (八)Locust 设置断言
    (七)Locust 的类和方法
  • 原文地址:https://www.cnblogs.com/LIUWEI123/p/5718963.html
Copyright © 2011-2022 走看看