博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA-10608 - Friends
阅读量:5097 次
发布时间:2019-06-13

本文共 1252 字,大约阅读时间需要 4 分钟。

   题目来源:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1549

   并查集,求出每个friends集合,然后再计算每个集合friends个数,求出最大个数。

1 #include
2 #include
3 #include
4 const int maxn=30000+5; 5 int b[maxn],num[maxn]; 6 void init(int n) 7 { 8 for(int i=1;i<=n;i++) 9 b[i]=i;10 }11 int find_father(int x)12 {13 while(b[x]!=x){14 x=b[x];15 }16 return x;17 }18 void fri_union(int friA,int friB)19 {20 while(b[friA]!=friA){21 friA=b[friA];22 }23 while(b[friB]!=friB){24 friB=b[friB];25 }26 if(friB!=friA)27 b[friB]=friA;28 }29 int main()30 {31 int t;32 scanf("%d",&t);33 while(t--){34 int n,m,friA,friB;35 scanf("%d%d",&n,&m);36 init(n);37 memset(num,0,sizeof(num));38 for(int i=1;i<=m;i++){39 scanf("%d%d",&friA,&friB);40 fri_union(friA,friB);41 }42 for(int i=1;i<=n;i++){43 int father=find_father(i);44 num[father]++;45 }46 std::sort(num,num+n);47 printf("%d\n",num[n-1]);48 }49 return 0;50 }

 

转载于:https://www.cnblogs.com/BMESwimming/p/3871270.html

你可能感兴趣的文章
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
元素和为目标值的子矩阵数量
查看>>
POJ-1287.Network(Kruskal + Prim + Prim堆优化)
查看>>
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
JSDoc规范
查看>>
大话文本检测经典模型:EAST
查看>>
文本主题模型之LDA(一) LDA基础
查看>>
linux基础命令-chgrp/chown/chomd
查看>>
待整理
查看>>
iOS 6
查看>>
Nginx入门篇-基础知识与linux下安装操作
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
1.linux ping:unknown host www.***.***
查看>>
Swagger自动生成接口文档
查看>>
Jquery瀑布流布局,jQuery Wookmark Load 示例
查看>>
Swift-可选值(Optional)讲解
查看>>
原生javascript代码懒加载
查看>>
JavaScript总结(二)
查看>>