ACM: The Suspects-并查集-解题报告

 The Suspects
Time Limit:1000MS     Memory Limit:20000KB     64bit IO Format:%lld & %llu

Description
严重急性呼吸系统综合症( SARS), 一种原因不明的非典型性肺炎,从2003年3月中旬开始被认为是全球威胁。为了减少传播给别人的机会, 最好的策略是隔离可能的患者。
在Not-Spreading-Your-Sickness大学( NSYSU), 有许多学生团体。同一组的学生经常彼此相通,一个学生可以同时加入几个小组。为了防止非典的传播,NSYSU收集了所有学生团体的成员名单。他们的标准操作程序(SOP)如下:
一旦一组中有一个可能的患者, 组内的所有成员就都是可能的患者。
然而,他们发现当一个学生被确认为可能的患者后不容易识别所有可能的患者。你的工作是编写一个程序, 发现所有可能的患者。

Input
输入文件包含多组数据。
对于每组测试数据:
第一行为两个整数n和m, 其中n是学生的数量, m是团体的数量。0 < n <= 30000,0 <= m <= 500。
每个学生编号是一个0到n-1之间的整数,一开始只有0号学生被视为可能的患者。
紧随其后的是团体的成员列表,每组一行。
每一行有一个整数k,代表成员数量。之后,有k个整数代表这个群体的学生。一行中的所有整数由至少一个空格隔开。
n = m = 0表示输入结束,不需要处理。

Output
对于每组测试数据, 输出一行可能的患者。

Sample Input
100 4
2 1 2
5 10 13 11 12 14
2 0 1
2 99 2
200 2
1 5
5 1 2 3 4 5
1 0
0 0

Sample Output
4
1
1

简单的并查集以每一个圈子的第一个人为根节点,把所有的人的父节点标记为根节点,然后记录该根节点的人数;当两个节点都有根节点,并且根节点不相同的时候,合并两个圈子,根节点更改为其中一个,更新此时该根节点的人数。

AC代码:
#include"iostream"
#include"cstdio"
#include"algorithm"
#include"cmath"
#include"cstring"
using namespace std;

#define MX 1000000
int pe[MX];
int num[MX];

int find(int x) {
	return pe[x] == x ? x : (pe[x] = find(pe[x]));
}

int main() {
	int n,m,x;
	while(~scanf("%d%d",&n,&m)) {
		if(!n&&!m) break;
		for(int i=0; i<n; i++) {
			pe[i]=i;
			num[i]=1;		//标记每个人为根节点的子节点个数
		}
		for(int qq=1; qq<=m; qq++) {
			scanf("%d",&x);
			int st[x];
			memset(st,0,sizeof st);
			for(int i=0; i<x; i++) {
				scanf("%d",&st[i]);
				if(i>=1) {
					int root1,root2;
					root1=find(st[i-1]);
					root2=find(st[i]);
					if(root1 != root2) {//如果两个人的根节点不同
						pe[root2] = root1;//把第二个圈子的人的根节点换为第一个圈子的根节点
						num[root1]+=num[root2];//把有同一个根节点的人数统计出来加在根节点上
					}
				}
			}
		}
			printf("%d\n",num[find(0)]);//直接搜索0的根节点的人数
	}
}

  

 
时间: 2024-10-03 22:49:18

ACM: The Suspects-并查集-解题报告的相关文章

ACM: 畅通工程-并查集-解题报告

畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可).问最少还需要建设多少条道路? Input 测试输入包含若干测试用例.每个测试用例的第1行给出两个正整数,分别是城镇数目N ( &l

ACM: Ubiquitous Religions-并查集-解题报告

Ubiquitous Religions Time Limit:5000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Description 当今世界有很多不同的宗教,很难通晓他们.你有兴趣找出在你的大学里有多少种不同的宗教信仰. 你知道在你的大学里有n个学生(0 < n <= 50000) .你无法询问每个学生的宗教信仰.此外,许多学生不想说出他们的信仰.避免这些问题的一个方法是问m(0 <= m <= n(n -

poj 1984 Navigation Nightmare 并查集 解题报告

Description Farmer John's pastoral neighborhood has N farms (2 <= N <= 40,000), usually numbered/labeled 1..N. A series of M (1 <= M < 40,000) vertical and horizontal roads each of varying lengths (1 <= length <= 1000) connect the farms.

[ACM] POJ 1611 The Suspects (并查集,输出第i个人所在集合的总人数)

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 21586   Accepted: 10456 Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. T

POJ 1611 The Suspects (并查集求数量)

Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to separate the suspects from others. In t

2016 UESTC ACM Summer Training Team Selection (2)解题报告

总体来说,个人英语水平还太蹩脚,此次大部分时间都花在理解题意上了,而且到最后有些题目的意思还是不理解,orz... 链接→2016 UESTC ACM Summer Training Team Selection (2)  Problem A Popular Vote Accept: 0    Submit: 0 Time Limit: 2000 mSec  Problem Description In an election with more than two candidates, it

The Suspects (并查集)

Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to separate the suspects from others. In the Not-Sprea

POJ 1611 The Suspects (并查集+数组记录子孙个数 )

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 24134   Accepted: 11787 Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. T

The Suspects(并查集维护根节点信息)

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 37090   Accepted: 17980 Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. T