zoukankan      html  css  js  c++  java
  • 继续畅通工程--hdu1879(最小生成树 模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1879

    刚开始么看清题  以为就是n行  后来一看是n*(n-1)/2行   是输入错误  真是够够的

    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <cstdio>
    #include <cstdlib>
    #include <cctype>
    #include <math.h>
    #include <ctype.h>
    
    using namespace std;
    #define memset(a,b) memset(a,b,sizeof(a))
    #define N 1100
    #define INF 0xfffffff
    typedef long long  ll;
    
    int G[N][N];
    int vis[N],dis[N];
    int n;
    
    int prime(int s)
    {
        int ans=0;
        memset(vis,0);
        for(int i=1;i<=n;i++)
        {
            dis[i]=G[s][i];
        }
        vis[s]=1;
        for(int i=1;i<n;i++)
        {
            int Min=INF,dist;
            for(int j=1;j<=n;j++)
            {
                if(vis[j]==0 && Min>dis[j])
                {
                    Min=dis[j];
                    dist=j;
                }
            }
            vis[dist]=1;
            ans+=Min;
            for(int j=1;j<=n;j++)
            {
                if(!vis[j] && dis[j]>G[dist][j])
                    dis[j]=G[dist][j];
            }
        }
        return ans;
    }
    
    int main()
    {
        int u,v,f,is;
        while(scanf("%d",&n),n)
        {
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    G[i][j]=INF;
                }
                dis[i]=INF;
            }
            for(int i=0;i<n*(n-1)/2;i++)
            {
                scanf("%d %d %d %d",&u,&v,&f,&is);
                if(is==1)
                {
                    f=0;
                }
                G[u][v]=G[v][u]=f;
            }
    
            int aa=prime(1);
            printf("%d
    ",aa);
        }
    }
  • 相关阅读:
    85. Maximal Rectangle
    120. Triangle
    72. Edit Distance
    39. Combination Sum
    44. Wildcard Matching
    138. Copy List with Random Pointer
    91. Decode Ways
    142. Linked List Cycle II
    异或的性质及应用
    64. Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/linliu/p/5398480.html
Copyright © 2011-2022 走看看