【rqnoj 343】mty的考验
2018-06-17 21:52:22来源:未知 阅读 ()
题目描述
啊!几经周折.mty终于找到了他的偶像.他就是….fyc!
可是fyc这样的高级人士可不喜欢一个人总是缠着他.于是他出了一道难题想考考mty.fyc有几个手下:陈乐天,舒步鸡,胡巍……现在fyc要去和别人fight,需要组建一值军队.军队的士兵在fyc的手下里选.
要组建一个军队,必修满足军队中的每个人之间都有直接或间接的朋友关系.
那么mty现在需要组建一支在满足上述情况下的人数最多的军队.
问题规模:
对于100%的数据,1<=n<=1000,1<=m<=500.
输入格式第一行,两个数,n,m.(n表示fyc有几个手下m表示有m对朋友关系).
一下m行,每行两个数.x[i],y[i].表示编号为x[i],y[i]的人是朋友.
输出格式一个数,表示人数最多的军队的人数.
5 3
1 2
2 3
3 4
样例输出
4
说明:1,2,3,4可组成一直军队.
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 using namespace std; 5 int n,m,a,b,c[1005],fa[1005]; 6 int read(){ 7 int x=0,f=1;char ch=getchar(); 8 while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} 9 while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} 10 return x*f; 11 } 12 int find(int n){ 13 if(fa[n]==n) return n; 14 else return fa[n]=find(fa[n]); 15 } 16 void unite(int x,int y){ 17 fa[y]=x; 18 } 19 int main(){ 20 n=read(),m=read(); 21 for(int i=1;i<=n;i++) fa[i]=i; 22 for(int i=1;i<=m;i++){ 23 a=read(),b=read(); 24 unite(find(a),find(b)); 25 } 26 int ans=0; 27 for(int i=1;i<=n;i++){ 28 c[find(i)]++; 29 ans=max(ans,c[find(i)]); 30 } 31 printf("%d\n",ans); 32 return 0; 33 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:动态内存与智能指针
- 【rqnoj 343】mty的考验 2018-06-27
- SDUT 3343 数据结构实验之二叉树四:还原二叉树 2018-06-17
- P1343 地震逃生 2018-06-17
- 【rqnoj 74】24点 2018-06-17
- BZOJ 3343: 教主的魔法 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash