并查集
来源:互联网 发布:留存统计最高效的算法 编辑:程序博客网 时间:2024/06/06 14:27
#include<stdio.h>int f[1000]={0},n,m,k,sum=0;void init(){int i;for(i=1;i<=n;i++)f[i]=i; //开始每个强盗的头都是自己 return;}int getf(int v){if(f[v]==v) //判断强盗的头是不是自己 return v;else{ f[v]=getf(f[v]);//如果这个强盗的头是其他人让这个人进入递归 return f[v];//这个强盗和两个人有关系,让第一个头成为第二个头的小弟}}void merge(int v,int u)//读入两个强盗的关系 {int t1,t2;t1=getf(v);t2=getf(u);if(t1!=t2) //如果u的头不是v,让v成为u的头 {f[t2]=t1;}return;}int main(){int i,x,y;scanf("%d %d",&n,&m);init();for(i=1;i<=m;i++){scanf("%d%d",&x,&y);merge(x,y);}for(i=1;i<=n;i++){if(f[i]==i)sum++;}printf("\n\n");for(i=1;i<=n;i++){printf("%d %d\n",i,f[i]);}printf("%d\n",sum);getchar();return 0;}/*10个强盗9种关系,问属于多少个犯罪集团10 9 1 23 45 24 62 68 79 71 62 4*/
阅读全文
0 0
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- 并查集总结
- 并查集学习
- 并查集
- 并查集
- 并查集
- 所谓并查集
- 并查集
- 每天一个linux命令(26): 文件权限命令 /etc/group文件详解
- JSP状态管理--第十四天
- 写高质量OC代码52建议总结:41.多用派发列队,少用同步锁
- 1059: [ZJOI2007]矩阵游戏
- Spring AOP事务管理(使用切面把事务管理起来)
- 并查集
- Android中保存图片到本地功能实现
- VS保存并生成解决方案
- 计算几何基本板子(待补)
- 浅谈表值函数和标量值函数
- VUE+WebPack游戏设计:实现两张扑克牌的逐对厮杀特效
- oracle 去空格函数未生效,发现ASCII值为49824的字符
- 阿里云Centos系统下服务器Nginx+PHP+MySql安装配置
- 查看是否存在某个class类名 原生JS添加类名 删除类名