zoukankan      html  css  js  c++  java
  • HDU 3367 Pseudoforest

    题解:最大生成树加判环……

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    struct node{int a,b,l;}seg[100005];
    bool cmp(node a,node b){return a.l>b.l;}
    int ans,m,n,f[10005],mark[10005];
    int sf(int x){return f[x]==x?x:f[x]=sf(f[x]);}
    int main(){
        while(scanf("%d%d",&n,&m)){
            if (m==0&&n==0)break; ans=0;
            for(int i=0;i<n;i++)f[i]=i,mark[i]=0;
            for(int i=0;i<m;i++)scanf("%d%d%d",&seg[i].a,&seg[i].b,&seg[i].l);
            sort(seg,seg+m,cmp);
            for(int i=0;i<m;i++){
                int q=sf(seg[i].a),w=sf(seg[i].b);
                if(q==w){
                   if(mark[q]==0&&mark[w]==0) ans+=seg[i].l,mark[q]=1;
                   continue;
                }else{
                    if(mark[q]==1&&mark[w]==1)continue;
                    if(mark[q]==1||mark[w]==1)ans+=seg[i].l,f[q]=w,mark[w]=1;
                    else f[q]=w,ans+=seg[i].l;
                }
            } 
            printf("%d
    ",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    JQ之html,text,val
    JQuery之编写弹窗
    DOM操作HTML元素属性
    DOM操作表格
    无缝滚动效果
    Date日期基础
    CISSP备考总结
    CISA考试大纲即将更新
    备考CISSP
    cisa备考体会
  • 原文地址:https://www.cnblogs.com/forever97/p/3604538.html
Copyright © 2011-2022 走看看