题目背景

AA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。

题目描述

给出A地区的村庄数NN,和公路数MM,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)

输入输出格式

输入格式:

第11行两个正整数N,MN,M

下面MM行,每行33个正整数x, y, tx,y,t,告诉你这条公路连着x,yx,y两个村庄,在时间t时能修复完成这条公路。

输出格式:

如果全部公路修复完毕仍然存在两个村庄无法通车,则输出-1−1,否则输出最早什么时候任意两个村庄能够通车。

输入输出样例

输入样例#1: 复制

4 4
1 2 6
1 3 4
1 4 5
4 2 3

输出样例#1: 复制

5

说明

N \le 1000,M \le 100000N≤1000,M≤100000

x \le N,y \le N,t \le 100000x≤N,y≤N,t≤100000

题解:过于简单,应该都会…………

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream> using namespace std;
int pre[10005];
int find(int x)
{
if(x==pre[x])
return x;
else
{
return pre[x]=find(pre[x]);
}
} struct node
{
int x,y,w;
}p[100005];
bool merge(int x,int y)
{
int fx=find(x);
int fy=find(y);
if(fx!=fy)
{
pre[fx]=fy;
return true;
}
else
{
return false;
}
}
bool cmp(node x,node y)
{
return x.w<y.w;
}
int main()
{
int n,m;
cin>>n>>m;
for(int t=1;t<=n;t++)
{
pre[t]=t;
}
for(int t=0;t<m;t++)
{
scanf("%d%d%d",&p[t].x,&p[t].y,&p[t].w);
}
sort(p,p+m,cmp);
int cnt=0;
int max=0;
for(int t=0;t<m;t++)
{
if(cnt==n-1)
{
break;
}
if(merge(p[t].x,p[t].y))
{
cnt++;
if(max<p[t].w)
{
max=p[t].w;
}
}
}
if(cnt==n-1)
cout<<max<<endl;
else
{
cout<<"-1"<<endl;
}
return 0;
}

P1111 修复公路(并查集)的更多相关文章

  1. 洛谷 - P1111 - 修复公路 - 并查集

    https://www.luogu.org/problemnew/solution/P1111 并查集的水题,水题都错了好多发. 首先并不是有环就退出,而是连通分支为1才退出,每次合并成功连通分支才会 ...

  2. 洛谷 P1111 修复公路——并查集

    先上一波链接qwq https://www.luogu.org/problem/P1111 这题就是裸的并查集咯qwq 维护一下连通块的数目 数目变为一的时候整个图就连通了 输出此时的答案就okay拉 ...

  3. 洛谷P1111修复公路并查集改

    看了他们的题解感觉很震惊,为什么要用kruskal,这题要用到最小生成树吗??? 38行短短的程序就可以了,我觉得学习不是一种套用,套自己学的,而且题解很大一部分都是kruskal. 个人认为自己的程 ...

  4. P1111 修复公路

    P1111 修复公路 550通过 1.6K提交 题目提供者该用户不存在 标签并查集 难度普及/提高- 提交该题 讨论 题解 记录   题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通 ...

  5. 洛谷 P1111 修复公路 Label:并查集

    题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...

  6. (最小生成树 并查集)P1111 修复公路 洛谷

    题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...

  7. 洛谷P1111 修复公路

    题目背景 A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你什么时 ...

  8. 洛谷——P1111修复公路(并查集)

    题目背景 AA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 题目描述 给出A地区的村庄数NN,和公路数MM,公路是双向的.并告诉你每条公路的连着哪两个村庄,并告诉你 ...

  9. 洛谷 P1111 修复公路

    题目链接 https://www.luogu.org/problemnew/show/P1111 以后只发题目链接!!! 题目大意 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连 ...

随机推荐

  1. 文本框控件JTextField和JTextArea的使用

    -----------------siwuxie095                             工程名:TestUI 包名:com.siwuxie095.ui 类名:TestTextF ...

  2. Windows系统 安装 Qt 5.7.0

    Windows系统 安装 Qt 5.7.0 我们的电脑系统:Windows 10 64位 Qt5 软件:Qt 5. 7. 0 下载 Qt 5.7.0 软件 在这个网站里面,下载:Qt 5.7.0 fo ...

  3. JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-005Table per subclass with joins(@Inheritance(strategy = InheritanceType.JOINED)、@PrimaryKeyJoinColumn、)

    一.结构 The fourth option is to represent inheritance relationships as SQL foreign key associations. Ev ...

  4. java中方法的控制修饰符也分为:可访问控制符和非访问控制符两类。

    3 .方法的控制修饰符也分为:可访问控制符和非访问控制符两类. 可访问控制符有 4 种:公共访问控制符: public :私有访问控制符: private :保护访问控制符: protected :私 ...

  5. Luogu 3466 [POI2008]KLO-Building blocks

    BZOJ 1112. 题意相当于在一个长度为$k$的区间内选择一个数$s$使$\sum_{i = 1}^{k}\left | a_i - s \right |$最小. 很显然是中位数. 然后只要写一个 ...

  6. rest-framework组件 之 序列化

    浏览目录 简单使用 ModelSerializer 提交post请求 重写save的create方法 单条数据的get和put请求 超链接API restful协议 一切皆是资源,操作只是请求方式. ...

  7. string为什么是final?源码分析

    http://blog.csdn.net/zhangjg_blog/article/details/18319521

  8. 形式化方法的逆袭——如何找出Timsort算法和玉兔月球车中的Bug?

    https://bindog.github.io/blog/2015/03/30/use-formal-method-to-find-the-bug-in-timsort-and-lunar-rove ...

  9. ssh远程执行命令使用明文密码

    经过不懈的搜索终于找到ssh远程执行命令使用明文密码使用sshpass. 例子: sshpass -p "sequoiadb" ssh root@localhost "l ...

  10. 连接Excel数据库

    SQL语法:http://www.w3school.com.cn/sql/sql_syntax.asp Ctrl键拖(也就是复制) 先输入1,2,然后下拉 一.问题的提出 在ASP编程中会遇到很多大大 ...