图论测试题(一)第一题:longest
第一题:longest
乌托邦有n个城市,某些城市之间有公路连接。任意两个城市都可以通过公路直接或者间接到达,并且任意两个城市之间有且仅有一条路径(What does this imply? A tree!)。
每条公路都有自己的长度,这些长度都是已经测量好的。
小修想从一个城市出发开车到另一个城市,并且她希望经过的公路总长度最长。请问她应该选择哪两个城市?这个最长的长度是多少?
Input format:
第一行n(n<=1000)。
以下n-1行每行三个整数a, b, c。表示城市a和城市b之间有公路直接连接,并且公路的长度是c(c<=10000)。
Output format:
仅一个数,即最长长度。
Sample:
Longest.in
5
1 2 2
2 3 1
2 4 3
1 5 4
Longest.out
9
说明:从城市4到城市5,经过的路径是4-2-1-5,总长度是9。
裸的kruskal吧= =没什么好说的,模板题
上代码o(〃'▽'〃)o
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
struct node{
int u;
int v;
int value;
}e[];
int father[];
bool cmp(node e1,node e2)
{
return e1.value>e2.value;
}
void read()
{
scanf("%d",&n);
m=;
for(int i=;i<n;i++)
{
m++;
int u,v,w;
scanf("%d%d%d",&u,&v,&w);
e[m].u=u;
e[m].v=v;
e[m].value=w;
}
sort(e+,e+m+,cmp);
}
int find(int x)
{
if(father[x]==x) return x;
else return father[x]=find(father[x]);
}
void merge(int x,int y)
{
if(father[x]!=father[y]) father[father[x]]=father[y];
}
void kruskal()
{
int sum=;
int ans=;
for(int i=;i<=n;i++) father[i]=i;
for(int i=;i<=m;i++)
{
if(find(e[i].u)!=find(e[i].v))
{
sum++;
ans+=e[i].value;
merge(e[i].u,e[i].v);
}
if(sum==n-)
{
printf("%d",ans);
return ;
}
}
printf("%d",-);
}
int main()
{
read();
kruskal();
return ;
}
图论测试题(一)第一题:longest的更多相关文章
- [算法 笔记]2014年去哪儿网 开发笔试(续)第一题BUG修正
上一篇的blog地址为:http://www.cnblogs.com/life91/p/3313868.html 这几天又参加了一个家公司的笔试题,在最后的编程题中竟然出现了去哪儿网开发的第一题,也就 ...
- 《学习OpenCV》练习题第五章第一题ab
这道题是载入一幅带有有趣纹理的图像并用不同的模板(窗口,核)大小做高斯模糊(高斯平滑),然后比较用5*5大小的窗口平滑图像两次和用11*11大小的窗口平滑图像一次是否接近相同. 先说下我的做法,a部分 ...
- 《学习OpenCV》练习题第四章第一题b&c
#include <highgui.h> #include <cv.h> #pragma comment (lib,"opencv_calib3d231d.lib&q ...
- 《学习OpenCV》练习题第四章第一题a
#include <highgui.h> #include <cv.h> #pragma comment (lib,"opencv_calib3d231d.lib&q ...
- Google Code Jam 第一题
通过的第一题,留做纪念,呵呵,非常简单,Africa 2010, Qualification Round: Store Credit. #include <stdio.h> #includ ...
- ZOJ 2334(Monkey King-左偏树第一题)
Monkey King Time Limit: 10 Seconds Memory Limit: 32768 KB Once in a forest, there lived N aggre ...
- BZOJ 3172([Tjoi2013]单词-后缀数组第一题+RMQ)
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 268 Solved: 145 [ Submit][ St ...
- NOIP2005-普及组复赛-第一题-陶陶摘苹果
题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳 ...
- 2018年多校第三场第一题 A. Ascending Rating hdu6319
比赛地址:http://acm.hdu.edu.cn/contests/contest_show.php?cid=804 题目编号:第一题 A. Ascending Rating hdu6319 题 ...
随机推荐
- LSH算法原理
原始链接--http://www.jiahenglu.net/NSFC/LSH.html LSH(Location Sensitive Hash),即位置敏感哈希函数.与一般哈希函数不同的是位置敏感性 ...
- < meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />
目录(?)[-] 1 meta http-equiv X-UA-Compatible content chrome1 1 meta http-equiv X-UA-Compatible cont ...
- UVA 12166 Equilibrium Mobile
题意: 给出数个天平,每个天平的结构都类似于二叉树,只有左右重量都相等时才平衡,求每个天平最少改多少个秤砣,也就是叶子结点可以使得整个天平平衡.天平的深度不超过16. 分析: 要使得改动的数量最少,那 ...
- appium自动化测试
appium官网:http://appium.io/index.html?lang=zh Requirements Your environment needs to be setup for the ...
- Android Studio代码自动提示无效
不生效的原因是因为你AS设置成了省电模式,设置成省电模式了的话,AS会禁掉一些辅助功能,达到省电的目的.所以代码自动提示也被禁掉了. 要修改回来的话,通过File选项,然后倒数第二项:Power Sa ...
- web Form 表单method="get" method="post" 区别
get和post方法的不同 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的.Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际 ...
- PhoneGap Xcode iOS教程
http://mobile.51cto.com/web-334924.htmhttp://phonegap.com/install/http://www.phonegap100.com/jiaoche ...
- 移动端影像解决方案Adobe Creative SDK for ios
移动端影像解决方案Adobe Creative SDK for ios 2015-12-20 分类:整理 阅读(390) 评论(0) 老牌影像界泰斗不甘落寞,正式推出了Adobe Creative ...
- C#中的多线程-入门
概述与概念C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行.一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多 ...
- Struts学习之ValueStack学习
1. 数据传输背后机制:ValueStack(值栈) 在这一切的背后,是因为有了ValueStack(值栈)! ValueStack基础:OGNL OGNL是Struts2中使用的一种表达式语言,它可 ...