zoukankan      html  css  js  c++  java
  • POJ 2485 Highways(最小生成树 Prim)

    Highways
     

    大意:给你一个用邻接矩阵形式存储的有n个顶点的无向图,让你求它的最小生成树并求出在这个生成树里面最大的边的权值。

    思路:用Prim求,判断条件改一下就行。

    PS:dis数组初始化的时候用memset一直RE,希望有知道怎么回事的不吝赐教,谢了~

     
     1 #include <stdio.h>
     2 #include <string.h>
     3 #define INF 0x3f3f3f3f
     4 
     5 int Map[510][510];
     6 int dis[510];
     7 int n, m;
     8 
     9 int min(int a, int b)
    10 {
    11     return a > b ? b : a;
    12 }
    13 
    14 int Prim()
    15 {
    16     int Min_ele, Min_node;
    17     for(int i = 1; i <= n; i++)
    18     {
    19         dis[i] = INF;
    20     }
    21     ///这里如果用memset(dis, INF, sizeof(dis));的话会一直RE
    22     int r = 1;
    23     int Ans = 0;
    24     for(int i = 1; i < n; i++)
    25     {
    26         Min_ele = INF;
    27         dis[r] = -1;
    28         for(int j = 1; j <= n; j++)
    29         {
    30             if(j != r && dis[j] >= 0)
    31             {
    32                 dis[j] = min(dis[j], Map[r][j]);
    33                 if(dis[j] < Min_ele)
    34                 {
    35                     Min_ele = dis[j];
    36                     Min_node = j;
    37                 }
    38             }
    39         }
    40         r = Min_node;
    41         if(Min_ele > Ans)
    42             Ans = Min_ele;
    43     }
    44     return Ans;
    45 }
    46 
    47 void Solve()
    48 {
    49     scanf("%d", &m);
    50     while(m--)
    51     {
    52         scanf("%d", &n);
    53         memset(Map, 0, sizeof(Map));
    54         for(int i = 1; i <= n; i++)
    55         {
    56             for(int j = 1; j <= n; j++)
    57             {
    58                 scanf("%d", &Map[i][j]);
    59             }
    60         }
    61         printf("%d
    ", Prim());
    62     }
    63 }
    64 
    65 int main()
    66 {
    67     Solve();
    68 
    69     return 0;
    70 }
    Highways
  • 相关阅读:
    OpenCV 之 图像平滑
    C++11 之 nullptr
    C++11 之 scoped enum
    C++ 之 常量成员函数
    德国的挑战
    OpenCV 之 直方图处理
    OpenCV 之 霍夫变换
    排序算法之——归并排序(两种方法及其优化)
    排序算法之——快速排序(剖析)
    排序算法之——桶排序
  • 原文地址:https://www.cnblogs.com/Silence-AC/p/3531342.html
Copyright © 2011-2022 走看看