ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2130 Problem D More is better

2019-03-15 20:56:15  阅读:355  来源: 互联网

标签:2130 FA int direct better boys num Mr Problem


问题 D: More is better

时间限制: 1 Sec  内存限制: 128 MB
提交: 340  解决: 123
[提交][状态][讨论版][命题人:外部导入]

题目描述

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.

样例输入

3
1 3
1 5
2 5
4
3 2
3 4
1 6
2 6

样例输出

4
5
#include<iostream>
#include<algorithm>
using namespace std;
const int MAXN = 1e7;
int f[MAXN], num[MAXN];

int seek(int x) {
	if (x == f[x]) return x;
	else {
		int FX = seek(f[x]);
		f[x] = FX;
		return FX;
	}
}
int main() {
	int n, a, b;
	while (cin >> n) {
		for (int i = 1; i <= 10000000; i++) {
			f[i] = i;
			num[i] = 1;
		}
		int Max = 1;
		for (int i = 0; i < n; i++) {
			cin >> a >> b;
			int FA = seek(a), FB = seek(b);
			if (FA != FB) {
				f[FB] = FA;
				num[FA] += num[FB];
				Max = max(Max, num[FA]);
			}
		}
		cout << Max << endl;
	}
	return 0;
}

 

标签:2130,FA,int,direct,better,boys,num,Mr,Problem
来源: https://blog.csdn.net/qq_36502291/article/details/88582979

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有