zoukankan      html  css  js  c++  java
  • 【洛谷 1547】Out of Hay

    题目背景

    奶牛爱干草

    题目描述

    Bessie 计划调查N (2 <= N <= 2,000)个农场的干草情况,它从1号农场出发。农场之间总共有M (1 <= M <= 10,000)条双向道路,所有道路的总长度不超过1,000,000,000。有些农场之间存在着多条道路,所有的农场之间都是连通的。

    Bessie希望计算出该图中最小生成树中的最长边的长度。

    输入格式

    两个整数N和M。

    接下来M行,每行三个用空格隔开的整数A_i, B_i和L_i,表示A_i和 B_i之间有一条道路长度为L_i。

    输出格式

    一个整数,表示最小生成树中的最长边的长度。

    输入输出样例

    输入 #1
    3 3
    1 2 23
    2 3 1000
    1 3 43
    输出 #1
    43

    题解:最小生成树,不解释上代码。

    #include<iostream>
    #include<algorithm>
    #include<queue>
    #include<cmath>
    #include<cstring>
    #include<cstdlib>
    #include<cstdio>
    using namespace std;
    typedef double db;
    const int N=20005;
    int n,m,cp,tot,fa[N],b[N];
    
    struct node{
        int x,y;
    }a[N];
    
    struct YCLL{
        int u,v;
        int va;
    }e[N];
    
    int ans=0;
    
    bool cmp(YCLL aa,YCLL bb){
        return aa.va<bb.va;
    }
    
    int find(int x){
        if(x!=fa[x]) 
           fa[x]=find(fa[x]);
        return fa[x];
    }
    int main(){
        freopen("1547.in","r",stdin);
        freopen("15477.out","w",stdout);
        scanf("%d",&n); scanf("%d",&m);
        for(int i=1;i<=n;i++) fa[i]=i;
        for(int i=1;i<=m;i++)
            scanf("%d %d %d",&e[i].u,&e[i].v,&e[i].va);
        sort(e+1,e+m+1,cmp);
        for(int i=1;i<=m;i++){
            int uu=find(e[i].u);
            int vv=find(e[i].v);
            if(uu==vv) continue;
            ans=e[i].va; 
            fa[uu]=vv; tot++;
            if(tot==(n-1)) break;
        }
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    Jmeter关联-获取token值
    Jmeter接口测试
    Jmeter关联,正则表达式提取器使用2
    Jmeter关联,正则表达式提取器使用1
    Jmeter-CSV Data Set Config参数化
    Fiddler基本用法:手机抓包1
    接口测试该怎样入手?
    Fiddler简介与Web抓包,远程抓包(IE、360、谷歌、火狐)
    PHP 插件资源
    利用PHP递归 获取所有的上级栏目
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/11296212.html
Copyright © 2011-2022 走看看