zoukankan      html  css  js  c++  java
  • hdu 1879 继续畅通工程

    感觉自己对kruscal的算法掌握的比较熟了,这题就没有用2种解法解答了.

    因为两种解法都是用自己写的模板来的,复制也没啥意思.

    这题就是根据读入的数据,如果是修建状态是1的话,说明不用修建了,就将权重置为1,其他套模板;

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 using namespace std;
     5 #define maxn 105
     6 #define INF 0x3f3f3f3f
     7 int mincost[maxn];
     8 int cost[maxn][maxn];
     9 bool visit[maxn];
    10 int n;
    11 int prim()
    12 {
    13     int res = 0, index = 1,min_cost;
    14     for(int i = 1;i <= n;i++)
    15         mincost[i] = cost[i][1];
    16     mincost[1] = 0;
    17     memset(visit,false,sizeof(visit));
    18     visit[1] = true;
    19     for(int i = 1 ; i <= n; i++)
    20     {
    21         min_cost = INF;
    22         for(int j = 1; j <= n; j++)
    23         {
    24             if(mincost[j]<min_cost && !visit[j])
    25             {
    26                 min_cost = mincost[j];
    27                 index = j;
    28             }
    29         }
    30         visit[index] = true;
    31         for(int k = 1; k <= n; k++)
    32         {
    33             if(!visit[k] && cost[k][index] < mincost[k])
    34                 mincost[k] = cost[k][index] ;
    35 
    36         }
    37 
    38     }
    39     for(int i = 1 ;i <=n;i++)
    40         res += mincost[i];
    41     return res;
    42 }
    43 int main()
    44 {
    45     //freopen("1879.txt","r",stdin);
    46     int a,b,c,d;
    47     while(~scanf("%d",&n),n)
    48     {
    49         memset(visit,false,sizeof(visit));
    50         memset(cost,INF,sizeof(visit));
    51         for(int i = 0 ;i< n*(n-1)/2 ; i++)
    52         {
    53          scanf("%d %d %d %d",&a,&b,&c,&d);
    54          if(d == 0)
    55             cost[a][b]=cost[b][a] = c;
    56          else
    57             cost[a][b]=cost[b][a] = 0;
    58         }
    59         printf("%d
    ",prim());
    60     }
    61     return 0;
    62 }
    View Code
  • 相关阅读:
    [UE4]九宫格图片拉伸
    [UE4]IsValid方法妙用
    [UE4]蓝图函数库
    [UE4]创建KillInfoPanel
    [UE4]条件语句Select
    [UE4]控件模板参数
    [UE4]控件模板
    [UE4]不推荐的UI更新方式
    [UE4]事件驱动的UI更新:事件调度器
    [UE4]更新UI的三种方式
  • 原文地址:https://www.cnblogs.com/xiaoniuniu/p/4392784.html
Copyright © 2011-2022 走看看