博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1856 More is better
阅读量:4965 次
发布时间:2019-06-12

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

题解:用并查集将所有的朋友合并,最后记录最大的连通块即可:

#include 
int f[10000010],max,sum[10000010],cnt;int sf(int x){ if(f[x]!=x)f[x]=sf(f[x]); return f[x];}int main(){ int n,x,y; while(scanf("%d",&n)!=EOF){ if(n==0){puts("1");continue;} for(int i=1;i<10000010;i++){f[i]=i;sum[i]=0;} cnt=0; for(int i=0;i
y?x:y; cnt=x>cnt?x:cnt; } max=0; for(int i=1;i<=cnt;i++) if ((++sum[sf(i)])>max) max=sum[f[i]]; printf("%d\n",max); } return 0;}

转载于:https://www.cnblogs.com/forever97/p/3550447.html

你可能感兴趣的文章
(转)Asp.Net生命周期系列五
查看>>
织梦栏目页分页title加"第N页"
查看>>
记录一次数据库链接不够用被drop掉的问题
查看>>
C语言实现通用链表初步(二)
查看>>
存储过程实现分页
查看>>
PHP开发环境安装说明书
查看>>
蓝点中文Linux2.0 实验十二 屏幕文本编辑器vi的使用
查看>>
swift,NSUserDefaults的swift化封装
查看>>
分享到QQ空间、新浪微博、腾讯微博的代码!
查看>>
通用媒体查询
查看>>
jmeter之JDBC
查看>>
实验四
查看>>
LeetCode-Shortest Word Distance II
查看>>
机器学习中的凸优化基础
查看>>
Redis和Jedis简介以及Redis事物
查看>>
第三、四、五次会议汇总
查看>>
js高级程序设计学习笔记
查看>>
windows phone 8 mp3 编码及解码
查看>>
亚马逊副总裁谈Marketplace平台的个性化服务
查看>>
Jmeter(非GUI模式)教程
查看>>