1342. 【南海2009初中】cowtract(网络) (Standard IO)

题目:

 Bessie受雇来到John的农场帮他们建立internet网络。农场有 N (2<= N <= 1,000)牛棚,编号为1..N。John之前已经勘测过,发现有 M (1<= M <= 20,000)条可能的连接线路,一条线路是连接某两个牛棚的。每条可能的线路都有一个建设费用 C (1<= C <=100,000)。John当然想花尽量少的钱,甚至克扣Bessie的工钱。
  Bessie发现了这点,很生气,决定给John捣乱。她要选择一些线路组成网,但费用却尽可能大。当然网络要能正常工作,也就是任意两个牛棚之间都是相互可以连通的,并且网络上不能有环,不然John会很容易发现的。
 请计算组建这种网络最多可能的费用。

输入:

第一行:两个整数 N M
下面M行:每行3个整数 A,B,C。表示一个可能的线路要连接A、B两个牛棚,费用是C。

输出:

只一行,一个整数,即花费最大的费用。如果不可能连接通所有牛棚,输出-1。

样例:

输入     输出                                                               
5 8      42
1 2 3
1 3 7
2 3 10       
2 4 4
2 5 8
3 4 6
3 5 2
4 5 17

思路:

思路很简单,典型的一道“最小”生成树只需要将“<”改至“>”,也就是说还是可以照常用Keuskal算法。话不多说上代码。

CODE

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int fa[];
int n,m,ans,num;
struct cow
{
int bb,son,money;
};
cow tree[];
int find(int x)
{
if(fa[x]!=x)
fa[x]=find(fa[x]);
return fa[x];
}
void add(int x,int y)
{
fa[fa[x]]=fa[y];
}
bool cmp(cow x,cow y)
{
return x.money>y.money;
}
int main()
{
cin>>n>>m;
for(int i=;i<=n;i++)
fa[i]=i;
for(int i=;i<=m;i++)
{
cin>>tree[i].bb>>tree[i].son>>tree[i].money;
}
sort(tree+,tree++m,cmp);
for(int i=;i<=n;i++)
{
if(find(tree[i].bb)!=find(tree[i].son))
{
add(tree[i].bb,tree[i].son);
ans=ans+tree[i].money;
num++;
}
}
if(num==n-)
{
cout<<ans;
return ;
}
else
{
cout<<-;
return ;
}
}

完结撒花!!!

 

普及C组第四题(8.2)的更多相关文章

  1. 普及C组第四题(8.9)

    2298. [noip普及组2T4]异或 (File IO): input:gcdxor.in output:gcdxor.out 题目描述 SarvaTathagata是个神仙,一天他在研究数论时, ...

  2. 普及C组第四题(8.18)

    1574. [提高]X-因子链 (File IO): input:factor.in output:factor.out 时间限制: 1000 ms  空间限制: 131072 KB 题目描述 给一个 ...

  3. NOIP2015普及组第四题推销员

    好久没有写博客了,今天再写一篇.还是先看题: 试题描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家 ...

  4. 第六届蓝桥杯java b组第四题

    第四题 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153….. 其循环节为[846153] 共有6位. 下面的方法,可以求出循环 ...

  5. 洛谷 P1070 道路游戏(noip 2009 普及组 第四题)

    题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn个机器人工厂编 ...

  6. 普及C组第三题(8.13)

    2334. [NOIP普及组T2]战斗 (File IO): input:fight.in output:fight.out 时间限制: 1000 ms  空间限制: 524288 KB 开始贴图:. ...

  7. 普及C组第三题(8.10)

    2301. [普及组T3或T4]线索 (File IO): input:assassin.in output:assassin.out 时间限制: 1000 ms  空间限制: 262144 KB 题 ...

  8. 关于2018年第九届蓝桥杯[C++省赛B组][第四题:测试次数]的疑问

    题目来源:https://blog.csdn.net/qq_34202873/article/details/79784548 #标题:测试次数#x星球的居民脾气不太好,但好在他们生气的时候唯一的异常 ...

  9. 蓝桥杯第七届决赛(国赛)C++B组 第四题 机器人塔

    机器人塔 X星球的机器人表演拉拉队有两种服装,A和B.他们这次表演的是搭机器人塔. 类似: A    B B   A B A  A A B B B B B A BA B A B B A 队内的组塔规则 ...

随机推荐

  1. MongoDB批量更新和批量插入的方式

    最近,在调试代码中发现向MongoDB插入或者更新文档记录时若是多条的话都是采用for循环操作的,这样的处理方式会造成数据操作耗时,不符合批量处理的原则:对此,个人整理了一下有关MongoDB的批量更 ...

  2. day03_1spring3

    事务管理的几种方式.spring整合Junit.spring整合web.ssh整合 一.事务管理的几种方式: 1.介绍前提我们需要导入:spring-tx-3.2.0.RELEASE.jar的包里面含 ...

  3. Mysql-从库只读设置

    主从设置中,如果从库在my.cnf中使用init_connect来限制只读权限的话,从库使用非超级用户(super权限)登陆数据时,无法进行任何操作,仅可维持主从复制. init_connect='S ...

  4. solr 对于 关键字的特殊处理

    public static String transformMetachar(String input){      StringBuffer sb = new StringBuffer();     ...

  5. js报错 Uncaught TypeError: xxxx.each is not a function

    在处理ajax返回的json数组时错误的使用了 list.each(function(){ }); 实际上当遍历json数组是应该使用 $.each(list,function(index,cours ...

  6. 2020牛客寒假算法基础集训营2 J.求函数 (线段树 推公式 单点修改 区间查询)

    https://ac.nowcoder.com/acm/contest/3003/J 题解: #include<bits/stdc++.h> typedef long long ll; u ...

  7. 1、安装gitlab

    1.安装Gitlab Gitlab分为社区版和企业版(收费),这里安装的是ce社区版本 方式一: Gitlab官方有提供好的rpm包仓库,所以采用yum安装即可. [root@localhost ~] ...

  8. c++踩坑大法好 赋值和指针的区别

    1,先说结论: 两个指针指向同一个结构,一个改了结构,另一个也会改掉. 两个指针指向同一个结构,修改了其中一个的指向,并且改了其中的内容,另一个不为所动. 2,看例子 main.cpp #includ ...

  9. 意外发现--http-server使用

    http-server 在很多情况下,需要在本地开启http服务器来测试.所以就需要一个简单的省事好用的http服务器.以前的时候,都是使用php的本地环境,但是,自从学了nodejs,发现了http ...

  10. Execl导入系统

    文件导入功能 前台代码: Content\JS\jquery.ajaxfileupload.js<script src="~/Content/JS/jquery.ajaxfileupl ...