• POJ 1251 Jungle Roads


    传送门:http://poj.org/problem?id=1251

    解题思路:简单的最小生成树

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    #include <cstdlib>
    using namespace std;
    
    const int maxn=28;
    struct Edge{
        int u,v,w;
        bool operator <(const Edge &rhs) const{
            return w<rhs.w;
        }
    }edges[maxn*maxn];
    int f[maxn];
    
    void init(int N){
        for(int i=1;i<=N;i++)
            f[i]=i;
    }
    
    int findfa(int a){
        if(f[a]!=a)
            f[a]=findfa(f[a]);
        return f[a];
    }
    
    void unit(int a,int b){
        int fa=findfa(f[a]);
        int fb=findfa(f[b]);
    
        if(fa!=fb)
            f[fa]=f[fb];
    }
    
    int m=0;
    void addEdge(int u,int v,int w){
        edges[m].u=u;
        edges[m].v=v;
        edges[m].w=w;
        m++;
    }
    
    int  prime(int N){
        init(N);
    
        sort(edges,edges+m);
    
        int ans=0;
        for(int i=0;i<m;i++){
            if(findfa(edges[i].u)!=findfa(edges[i].v)){
                ans+=edges[i].w;
                unit(edges[i].u,edges[i].v);
            }
        }
        return ans;
    }
    
    int main(){
        int N;
        while(scanf("%d",&N)!=EOF&&N!=0){
            m=0;
            for(int i=1;i<N;i++){
                char s[3],e[3];
                int t,w;
                scanf("%s",s);
                scanf("%d",&t);
                for(int k=0;k<t;k++){
                    scanf("%s",e);
                    scanf("%d",&w);
                    addEdge(s[0]-'A'+1,e[0]-'A'+1,w);
                }
    
            }
    
          printf("%d
    ",prime(N));
        }
        return 0;
    }
    自己选的路,跪着也要把它走完------ACM坑
  • 相关阅读:
    httpClient-3.1学习笔记
    HTTP Header 详解
    Java:对象的强、软、弱和虚引用
    Spring @ResponseBody 返回乱码 的优雅解决办法
    Spring MVC 返回类型为字符串时, 返回中文变成"?"处理
    GroupVarint
    Format
    DynamicConverter
    Thread pools & Executors
    Futures
  • 原文地址:https://www.cnblogs.com/IKnowYou0/p/6504498.html
Copyright © 2020-2023  润新知