人活系列Streetlights (秩)
人活着系列之Streetlights
Time Limit: 1000MS Memory limit: 65536K
题目描写叙述
输入
输出
演示样例输入
3 3
0 1 1
1 2 5
0 2 2
4 3
0 1 1
1 2 3
0 2 4
演示样例输出
5
-1
提示
#include<iostream>
#include<cstdio>
#include<cstring>
#include <cstdlib>
#include <math.h>
#include <algorithm>
#define INF 0x3f3f3f3f
const int N = 100010;
using namespace std; struct node
{
int u,v,w;
} g[N];
int num = 0,sum = 0,zong = 0,n,m,father[N];
int cmp(const void *a,const void *b)
{
struct node *X,*Y;
X = (struct node *)a;
Y = (struct node *)b;
return X->w - Y->w;
}
int findx(int r)
{
while(r != father[r])
{
r = father[r];
}
int i = r,j;
while(father[i] != r)
{
j = father[i];
father[i] = r;
i = j;
}
return r;
} void Kruskal()
{ for(int i = 0; i < m; i++)
{
int uu = findx(g[i].u);
int vv = findx(g[i].v);
if(uu!=vv)
{
num ++;
sum += g[i].w;
father[uu] = vv;
}
if(num == n-1)
break;
}
}
void init()
{
zong = 0,num = 0,sum = 0;
for(int i = 0; i <=n; i++)
father[i] = i;
}
int main()
{
while(~scanf("%d%d",&n,&m))
{
init();
for(int i = 0; i < m; i++)
{
scanf("%d%d%d",&g[i].u,&g[i].v,&g[i].w);
zong += g[i].w;
}
qsort(g,m,sizeof(g[0]),cmp); Kruskal();
(num==n-1)? printf("%d\n",zong-sum):puts("-1");
}
}
版权声明:本文博客原创文章。博客,未经同意,不得转载。
人活系列Streetlights (秩)的更多相关文章
- SDUT 2933-人活着系列Streetlights(最小生成树Kruskal+和理查德设置来实现)
人活着系列之Streetlights Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 人活着假设是为了家庭,亲情----能够说 ...
- 人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏
人活着系列之平方数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在&quo ...
- SDUT OJ 之 人活着系列之寻找最完美的人生
人活着系列之寻找最完美的人生 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 也许,人活着就是要尝试人世间的酸甜苦辣,喜怒哀乐,经 ...
- 人活着系列Tanya和蔡健雅猪 (floyd)
人活着系列之芳姐和芳姐的猪 Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 芳姐特别喜欢猪,所以,她特意养了m个猪圈,顺便在k条无向边,每条边有都有起点v ...
- 没人看系列-----html随笔
<!DOCTYPE> 目录 没人看系列-----html/css详解 前言 不多说这段时间写了好多好多前端的东西,以至于自己重新返回看了一遍前端的所有技术.故此做个总结,准备学东西的请绕行 ...
- 没人看系列----css 随笔
目录 没人看系列----css 随笔 没人看系列----html随笔 前言 没什么要说的就是自己总结,学习用的如果想学点什么东西,请绕行. CSS (Cascading Style Sheets)层叠 ...
- sdut 2934 人活着系列之平方数 (完全背包变形)
题目链接 分析:完全背包的变形,每一层的d[]数组代表这一层的这个数新加入以后所构成的val的种类. #include <iostream> #include <cstdio> ...
- 小P的故事——神奇的换零钱&&人活着系列之平方数
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2777&cid=1219 这题不会,看了别人的代码 #include <iostre ...
- 人活着系列之开会(Floy)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2930 题意:所有点到Z点的最短距离.因为岛名由 ...
随机推荐
- Linux下将UTF8编码批量转换成GB2312编码的方法
Linux下将UTF8编码批量转换成GB2312编码的方法 在sqlplus中导入UTF8编码的sql脚本就会出现乱码错误,这时就需要将UTF8编码转换成GB2312编码,下面为大家介绍下在Linux ...
- 异常学习笔记+打包+doc该软件包编译
jvm调用默认的异常处理机制printStackTrace办法 欲了解更多异常处理.问题 捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 watermark/2 ...
- Java 里把 InputStream 转换成 String 的几种方法
我们在 Java 中经常会碰到如何把 InputStream 转换成 String 的情形,比如从文件或网络得到一个 InputStream,需要转换成字符串输出或赋给别的变量. 未真正关注这个问题之 ...
- Kruskal(克鲁斯卡尔)
设有一个有n个顶点的连通网N={V,E},最初先构造一个只有n个顶点, 没有边的非 连通图 T={V, E}, 图中每个顶点自成一个连通分量. 当在E中选到一条具有最小权值的边时,若该边的两个顶点落在 ...
- PHP类中的七种语法说明
类中的七种语法说明 -属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数 <?php class Student { // 类里的属性.方法和函数的訪问权限有 (函数和方法是 ...
- 勾股数组及其应用uva106
勾股数组 设三元组(a,b,c)满足a^2 + b^2 = c^2的勾股数组,那么是否存在无穷多个勾股数组呢, 答案是肯定的,将三元组乘以d,可以得到新的三元组(da,db,dc) 即(da)^2 + ...
- How to Compile Java DBus
1 download or git clone Java DBus git clone git://anongit.freedesktop.org/dbus/dbus-java dbus-java 2 ...
- 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》串行4(场景变化)
作为一个真正的利用价格值应用,首先,你应该至少有两页,通过切换页面来实现很多其他互动.比如手机人人网,首先,打开后进入登录页面,将有登录后,新的东西.然后拉左侧面板.你可以看到相册.私人信息.像其他应 ...
- 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见
内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...
- Oracle trunc()函数
Oracle trunc()函数的用法 --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysd ...