问题 H: Vegetable and Road again

时间限制: 1 Sec 内存限制: 128 MB

提交: 19 解决: 8

题目描述

修路的方案终于确定了。市政府要求任意两个公园之间都必须实现公路交通(并不一定有直接公路连接,间接公路相连也可以)。但是考虑到经济成本,市政府希望钱花的越少越好。

你能帮助Vegetable找到给出的修路方案所需的最少花费吗?

输入

有T组测试数据。

每组包含一组N(0<n<=100)和M,N表示有N个公园,M表示这N个公园间的M条路。

接下来给出M行,每行包括A,B, C。表示A和B之间修公路需要花费C元。

输出

若给出的方案可行,输出该方案最小需要的花费,若给出的方案不可行,输出Wrong。

样例输入

1
4 3
1 2 1
2 3 2
3 4 3

样例输出

6
#include<cstdio>
#include<algorithm>
using namespace std; const int maxn = ; int f[maxn]; struct edge
{
int from;
int to;
int cost;
friend bool operator < (edge a,edge b)
{
return a.cost < b.cost;
}
}e[maxn]; void ufs(int n)
{
for(int i = ; i <= n; i++)
f[i] = i;
} int findd(int x)
{
if(f[x] == x)
return x;
else return findd(f[x]);
} void merger(int x,int y)
{
int fx = findd(x);
int fy = findd(y);
if(fx != fy)
f[fy] = fx;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
ufs(n);
int cnt = ;
for(int i = ; i < m; i++)
scanf("%d%d%d",&e[i].from,&e[i].to,&e[i].cost);
sort(e,e + m);
for(int i = ; i < m; i++)
{
if(findd(e[i].from) != findd(e[i].to))
{
merger(e[i].from,e[i].to);
cnt += e[i].cost;
}
}
int flag = ;
for(int i = ; i < n; i++)
{
if(findd(f[i]) != findd(f[i + ]))
{
flag = ;
printf("Wrong\n");
break;
}
}
if(flag)
printf("%d\n",cnt);
}
return ;
}

最小生成树模板题 hpu 积分赛 Vegetable and Road again的更多相关文章

  1. O - 听说下面都是裸题 (最小生成树模板题)

    Economic times these days are tough, even in Byteland. To reduce the operating costs, the government ...

  2. POJ 1258:Agri-Net Prim最小生成树模板题

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 45050   Accepted: 18479 Descri ...

  3. POJ 1789 Truck History (Kruskal最小生成树) 模板题

    Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for v ...

  4. 最小生成树模板题-----P3366 【模板】最小生成树

    题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入格式 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<=200000) ...

  5. 最小生成树模板题POJ - 1287-prim+kruskal

    POJ - 1287超级模板题 大概意思就是点的编号从1到N,会给你m条边,可能两个点之间有多条边这种情况,求最小生成树总长度? 这题就不解释了,总结就算,prim是类似dijkstra,从第一个点出 ...

  6. poj 1251 poj 1258 hdu 1863 poj 1287 poj 2421 hdu 1233 最小生成树模板题

    poj 1251  && hdu 1301 Sample Input 9 //n 结点数A 2 B 12 I 25B 3 C 10 H 40 I 8C 2 D 18 G 55D 1 E ...

  7. POJ1258:Agri-Net(最小生成树模板题)

    http://poj.org/problem?id=1258 Description Farmer John has been elected mayor of his town! One of hi ...

  8. POJ 1287 Networking (最小生成树模板题)

    Description You are assigned to design network connections between certain points in a wide area. Yo ...

  9. 继续畅通工程--hdu1879(最小生成树 模板题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1879 刚开始么看清题  以为就是n行  后来一看是n*(n-1)/2行   是输入错误  真是够够的 #incl ...

随机推荐

  1. 简单探讨spring整合mybatis时sqlSession不需要释放关闭的问题

    https://blog.csdn.net/RicardoDing/article/details/79899686 近期,在使用spring和mybatis框架编写代码时,sqlSession不需要 ...

  2. JAVA获取apk包的package和launchable-activity名称(完善成EXE版)

    出来混迟早是要还的. 在这一篇中https://www.cnblogs.com/sincoolvip/p/5882817.html,只是简单讲了一下获取apk包的package和launchable- ...

  3. Mysql 5.7 安装 解压缩版 忘记密码

    [参考]Mysql 命令大全 [参考]MySQL 5.7.19 忘记密码 重置密码 配置文件my.ini示例 服务启动后停止 log配置 [参考]MySQL5.7.19 服务挂掉 自动关闭 mysql ...

  4. 乾坤合一~Linux设备驱动之I2C核心、总线以及设备驱动

    我思念的城市已是黄昏 为何我总对你一往情深 曾经给我快乐 也给我创伤 曾经给我希望 也给我绝望 我在遥远的城市 陌生的人群 感觉着你遥远的忧伤 我的幻想 你的忧伤,像我的的绝望,那样漫长,,,,,这是 ...

  5. 【App】Android Studio 海马玩

    一.工程创建及配置 1.gradle环境变量 2.首次创建工程慢:https://www.cnblogs.com/xiadewang/p/7820377.html 二.海马玩虚拟机 C:\Users\ ...

  6. js - 伪数组转化为数组的几种方法整理(更新中...)

    伪数组:无法调用数组的方法,但是有length属性,又可以索引获取内部项的数据结构. 比如:arguments.getElementsByTagName等一系列dom获取的NodeList对象,他们 ...

  7. C# 求俩个正整数的最小公倍数和最大公约数

    C# 求俩个正整数的最小公倍数和最大公约数 1.公倍数.最小公倍数 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数 翻开小学5年级下册PPT 1.1 ...

  8. java模拟http请求(代理ip)

    java实现动态切换上网IP (ADSL拨号上网) java动态设置IP java模拟http的Get/Post请求 自动生成IP模拟POST访问后端程序 JAVA 动态替换代理IP并模拟POST

  9. SharePoint Server 2019新特性

    .基于.NET4.7框架 功能基本是把office365的SPO功能搬家过来.如下: Sharepoint server 2019将在2018年发布 New web parts There were ...

  10. 22.2、react生命周期与react脚手架(二)

    一.类:es6 <script type="text/babel"> class Person{ age = 10; constructor(name){ this.n ...