历届试题 国王的烦恼

时间限制:1.0s   内存限制:256.0MB

问题描述

  C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。

  如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,后一天却不能到达了,居民们就会一起抗议。

  现在C国的国王已经知道了每座桥能使用的天数,超过这个天数就不能使用了。现在他想知道居民们会有多少天进行抗议。

输入格式

  输入的第一行包含两个整数n, m,分别表示小岛的个数和桥的数量。
  接下来m行,每行三个整数a, b, t,分别表示该座桥连接a号和b号两个小岛,能使用t天。小岛的编号从1开始递增。

输出格式

  输出一个整数,表示居民们会抗议的天数。

样例输入

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

样例输出

2

样例说明

  第一天后2和3之间的桥不能使用,不影响。
  第二天后1和2之间,以及1和3之间的桥不能使用,居民们会抗议。
  第三天后3和4之间的桥不能使用,居民们会抗议。

数据规模和约定

  对于30%的数据,1<=n<=20,1<=m<=100;
  对于50%的数据,1<=n<=500,1<=m<=10000;
  对于100%的数据,1<=n<=10000,1<=m<=100000,1<=a, b<=n, 1<=t<=100000。

模拟断桥==模拟修桥

如果修完不连通的连通了,那么抗议天数+1

所以是并查集题目。

#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define LL long long
#define pai acos(-1)
#define MAXN 100struct no{int a,b,t;
}node[100005];bool operator<(const no &x,const no &y){return x.t>y.t;
}int pre[10005];int found(int x){int re=x;while(re!=pre[re]){re=pre[re];}int t;while(x!=pre[x]){t=pre[x];pre[x]=re;x=t;}return re;
}bool join(int x,int y){int fx=found(x),fy=found(y);if(fx!=fy){pre[fx]=fy;return 1;}return 0;
}
int main(){int n,m;cin>>n>>m;for(int i=1;i<=m;i++){scanf("%d%d%d",&node[i].a,&node[i].b,&node[i].t);}for(int i=1;i<=n;i++){pre[i]=i;}sort(node+1,node+1+m);int p=1,re=0;while(p<=m){int x=node[p].t,k=0;while(x==node[p].t){k=k+join(node[p].a,node[p].b);p++;}if(k) re++;}cout<<re;return 0;
}

蓝桥 历届试题 国王的烦恼相关推荐

  1. [蓝桥杯][历届试题]国王的烦恼(反向+并查集)

    问题 1435: [蓝桥杯][历届试题]国王的烦恼 时间限制: 1Sec 内存限制: 128MB 提交: 802 解决: 213 题目描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了 ...

  2. 蓝桥杯历届试题 国王的烦恼(并查集逆序加边+坑)

    历届试题 国王的烦恼   时间限制:1.0s   内存限制:256.0MB 问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座 ...

  3. 【蓝桥杯】 历届试题 国王的烦恼(并查集)

    历届试题 国王的烦恼 问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座桥连接.然而,由于海水冲刷,有一些大桥面临着不能使用的 ...

  4. 蓝桥历届试题 高僧斗法

    蓝桥历届试题 高僧斗法 高僧斗法 题目 思路 代码 高僧斗法 题目 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有"高 ...

  5. 蓝桥 历届试题 核桃的数量

    历届试题 核桃的数量 时间限制:1.0s   内存限制:256.0MB 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑). ...

  6. 蓝桥 历届试题 格子刷油漆

    历届试题 格子刷油漆 时间限制:1.0s   内存限制:256.0MB 问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆. 你可以从任意一个格 ...

  7. 蓝桥 历届试题 矩阵翻硬币 JAVA

    问题描述 小明先把硬币摆成了一个 n 行 m 列的矩阵. 随后,小明对每一个硬币分别进行一次 Q 操作. 对第x行第y列的硬币进行 Q 操作的定义:将所有第 ix 行,第 jy 列的硬币进行翻转. 其 ...

  8. 蓝桥杯历届试题代码参考

    蓝桥杯历届试题代码参考 历届试题 核桃的数量 打印十字图 带分数 剪格子 错误票据 翻硬币 连号区间数 买不到的数目 大臣的旅费 幸运数 横向打印二叉树 危险系数 网络寻路 高僧斗法 格子刷油漆 农场 ...

  9. 蓝桥杯历届试题 地宫取宝 dp or 记忆化搜索

    问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...

最新文章

  1. matlab整型和浮点的区别,技术帖 | 心理学MATLAB初学者教程--简单数据类型介绍(逻辑型数据,整型/浮点型数据,字符型)......
  2. php 腾讯逆地址解析,腾讯地图逆地址解析
  3. cat、tac、more、less、head、tail、cut
  4. 自己动手实现操作系统引导程序(OS bootloader)——借助QEMU/GDB/losetup/dd等工具
  5. 运行python-thrift的DEMO
  6. 使用XIB实现嵌套自定义XIB视图
  7. 部署LVS-DR(LVS+Keepalived)群集
  8. 领诵员冯琳最新消息!保研复旦、主持卫视跨年晚会
  9. php houdini,houdini中文翻译.pdf
  10. 003.原生数据类型使用陷阱 Pitfall of Primitive Data Type
  11. python 调用scp命令 实践
  12. 浏览器打开本地exe
  13. python中tkinter较完整的鼠标样式cursor值
  14. 《编译原理-龙书》练习第3章
  15. jQuery - 设置div的内容和属性
  16. Python BeautifulSoup简介
  17. centos7最小安装时输入命令ifconfig提示bash:ifconfig:未找到命令的错误
  18. Latex: Cannot find ‘xxx.bcf‘!
  19. html5复合选择器,传智播客解读Css基本选择器与复合选择器
  20. “网淘”新主张 跳蚤市场成风尚

热门文章

  1. 移动硬盘电脑无法识别之供电不足
  2. 魂斗罗归来大觉机器人_魂斗罗归来挑战Boss模式血量分析
  3. 我趴下了,是笑的…………
  4. 时隔两年,LitePal终于又更新了!
  5. 【干货#001】小程序使用有赞ZanUI
  6. java基于Springboot+vue的文体文具销售商城网站 elementui
  7. (模拟看病)编写一个程序,反映病人到医院看病,排队看医生的情况。
  8. 怎么能更好的学习html
  9. 手机号码(验证,所在地查询)
  10. 笑笑成长记(4)--在张宸宇的满月宴会上