HDU 1232 畅通工程(并查集)
来源:互联网 发布:引用json文件 编辑:程序博客网 时间:2024/06/06 00:40
#include <iostream>using namespace std;int pre[1050];int find(int x){return pre[x]==x?x:pre[x]=find(pre[x]);}bool join(int a,int b){int fa=find(a);int fb=find(b);if(fa!=fb){pre[fb]=fa;return 1;}return 0;}int main(){int m,n;int a,b;int f1,f2;while(scanf("%d",&n)&&n){int ans=0;for(int i=1;i<=n;i++){pre[i]=i;}scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d %d",&a,&b);join(a,b);}for(int i=1;i<=n;i++){if(find(i)==i) ans++;}ans--;printf("%d\n",ans);}}/*4 21 34 33 31 21 32 35 21 23 5999 00*/
并查集的基础题~
1.寻找根结点的思想就是:如果根结点为自己就返回自己,如果根结点不为自己就向上查找,直到找到根结点是自己本身的点;
2.找到有几个不同的根结点,则把这些根结点连起来需要n-1条边,即为答案
0 0
- 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 畅通工程(并查集)
- Hadoop:配置文件介绍
- 嵌入式学习-驱动开发前奏-lesson1-内核模块相关知识
- Git常用命令备忘
- eclipse c/c++点击运行时提示Program file does not exist
- How many prime numbers
- HDU 1232 畅通工程(并查集)
- 织梦 当前位置修改
- 纯java http协议通讯
- Hadoop:MapReduce作业配置与提交
- 谁都需要成就感一
- 学习Git分布式版本控制系统总结
- OSG设置纹理和渲染属性
- 杭电oj-2020
- 关于在activity检测当前线程是否是UI线程的时机