HDU——1232 畅通工程
来源:互联网 发布:笔记本自带看图软件 编辑:程序博客网 时间:2024/06/02 03:52
畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 39593 Accepted Submission(s): 21009
注意:两个城市之间可以有多条道路相通,也就是说
3 3
1 2
1 2
2 1
这种输入也是合法的
当N为0时,输入结束,该用例不被处理。
4 21 34 33 31 21 32 35 21 23 5999 00
102998Huge input, scanf is recommended.HintHint并查集的详细分析:http://blog.csdn.net/wuxiushu/article/details/49615311
#include<stdio.h>#include<math.h>#include<string.h>#include<iostream>#include<algorithm>const int MAX = 1010;using namespace std;int pre[MAX],visit[MAX];int find(int x) ///寻找根节点{ int r = x; while(r != pre[r]) { r = pre[r]; } int i = x,j; while(pre[i] != r) { j = pre[i]; pre[i] = r; i = j; } return r;}void join(int x,int y) ///判断是否是相同的根节点{ int fx = find(x); int fy = find(y); if(fx != fy) { pre[fy] = fx; }}int main(){ int n,m,a,b; while(scanf("%d%d",&n,&m)&&n) { memset(visit,0,sizeof(visit)); for(int i = 1; i <= n; i ++) ///初始化 pre[i] = i; for(int i = 1; i <= m; i ++) { scanf("%d%d",&a,&b); join(a,b); } for(int i = 1; i <= n; i ++) visit[find(i)] = 1; int sum = 0; for(int i = 1; i <= n; i ++) if(visit[i]) ++ sum; printf("%d\n",sum - 1); }}
- HDU——1232 畅通工程
- Hdu-1232 畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- HDU 1232 畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- Hdu 1232 畅通工程
- HDU-1232:畅通工程
- hdu 1232 畅通工程
- hdu 1232 畅通工程
- hdu - 1232 - 畅通工程
- hdu 1232 畅通工程
- hdu 1232畅通工程
- hdu 1232 畅通工程
- 脱壳一 常见语言和编译器的EP入口地址内类型
- [ mongoDB ] - 文档型数据库设计模式-如何存储树形数据
- tr:hover变色的问题
- matlab double axes, 两个坐标轴 papa的儿子,儿子的papa
- EasyAR尝鲜系列教程之自定义Marker的实现
- HDU——1232 畅通工程
- 关于Java的Classpath详解
- 并查集(转发)
- 默默的一只小透明的编程之路---永远在开始的路上
- unicode-range字体混搭
- Android Facebook分享功能实现
- ios开发之安装开发文档
- 利用libvirt命令动态挂载数据盘的方法
- CSS3:nth-child()伪类选择器,Table表格奇偶数行定义样式