九度 题目1444:More is better
来源:互联网 发布:流行的网络dj歌曲大全 编辑:程序博客网 时间:2024/05/22 22:15
时间限制:3 秒
内存限制:100 兆
特殊判题:否
提交:913
解决:423
- 题目描述:
Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the better it will be. Of course there are certain requirements.Mr Wang selected a room big enough to hold the boys. The boy who are not been chosen has to leave the room immediately. There are 10000000 boys in the room numbered from 1 to 10000000 at the very beginning. After Mr Wang's selection any two of them who are still in this room should be friends (direct or indirect), or there is only one boy left. Given all the direct friend-pairs, you should decide the best way.
- 输入:
The first line of the input contains an integer n (0 ≤ n ≤ 100 000) - the number of direct friend-pairs. The following n lines each contains a pair of numbers A and B separated by a single space that suggests A and B are direct friends. (A ≠ B, 1 ≤ A, B ≤ 10000000)
- 输出:
The output in one line contains exactly one integer equals to the maximum number of boys Mr Wang may keep.
- 样例输入:
41 23 45 61 641 23 45 67 8
- 样例输出:
42
用并查集求得每个集合的元素的个数,最后输出最大的集合的元素个数。合并两个集合时,也原集合的元素个数累加到新集合中。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int r[10000003],c[10000003];
int Findroot(int x)
{
if(r[x]==-1) return x;
else return Findroot(r[x]);
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int sum=0;
for(int i=1;i<=10000001;i++)
{
r[i]=-1;
c[i]=1;
}
for(int i=1;i<=n;i++)
{
int a,b;
scanf("%d%d",&a,&b);
a=Findroot(a);
b=Findroot(b);
if(a!=b)
{
r[a]=b;
c[b]+=c[a];
}
}
for(int i=1;i<=10000000;i++)
if(r[i]==-1&&c[i]>sum)
sum=c[i];
printf("%d\n",sum);
}
return 0;
}
- 【九度】题目1444:More is better
- 九度 题目1444:More is better
- 九度 题目1444:More is better
- 九度 题目1444:More is better
- 九度oj 题目1444:More is better
- 【九度OJ】题目1444:More is better 解题报告
- 九度 OJ 1444:More is better
- 题目1444:More is better
- 题目1444:More is better
- 题目1444:More is better
- 题目1444:More is better
- 题目1444:More is better
- 九度考研机试教程 67-题目1444:More is better
- 九度OJ1444:More is better
- Jobdu 题目1444:More is better
- 题目67:More is better
- 九度OJ-1444:More is better(用并查集求集合大小)
- HDOJ 题目1856More is better(并查集)
- hdu2066(多源多汇最短路)
- Apache hadoop当前各个版本说明
- java 字符串,字符数组,list间的转化
- cocos2dx析构的对象仍然在引起crash问题的查找方法(经常会crash在draw方法中)
- Java 内部类的作用,实现多重继承
- 九度 题目1444:More is better
- error LNK2001: 无法解析的外部符号
- Android Service学习之AIDL, Parcelable和远程服务
- Java线程与多线程教程
- eclipse 替换变量名
- IDE SATA SCSI iSCSI等存储硬盘对比与分析
- Eclipse Unable to install breakpoint in XXX 解决办法
- 我那边给您你改
- 自定义控件