ZJYYC-找出疑似病例
题目描述:
众所周知,只要接触过新冠病毒患者的人就需要被隔离,现在给出了一份接触名单(里面包含该地区所有人的接触记录)和一个确诊病人的编号,请你计算该地区有多少人需要被隔离。
输入描述:
每组测试数据第一行输入一个正整数T(0<T<=5)开始,表示有T组数据 每组数据第一行输入两个整数n,m(0<n<=100000,0<m<=1000)开头,表示改地区有n个人和给出了m份接触名单。 接下来m行,每行首先输入一个整数k表示该行接下来输入k(0<k<=1000)个数据,表示这k个人曾接触过。 最后给出输入一个编号A,代表着确诊病人的编号(编号从0开始,到n-1结束)
输出描述:
输出需要被隔离的人数(包括确诊病人)
测试样例:
样例输入 1
1 5 2 2 1 2 3 0 3 4 1
样例输出 1
2
思路:并查集
AC代码:
#include<bits/stdc++.h>
using namespace std;
int s[100005];
int a[100005];
void csh(int x){
for (int i = 0 ; i < x ;i++){
s[i] = i;
}
}
int findx(int x){
if (s[x] == x){
return x;
}
else{
return s[x] = findx(s[x]);
}
}
void merge(int x,int y){
x = findx(x),y = findx(y);
if (x != y){
s[x] = y;
}
}
int main() {
ios::sync_with_stdio(false);
int t;
cin>>t;
while (t--){
int n,m;
cin>>n>>m;
csh(n);
while (m --){
int k;
cin>>k;
for (int i = 0 ; i < k ;i++){
cin>>a[i];
merge(a[0],a[i]);
}
}
int cnt = 0;
int p;
cin>>p;
for (int i = 0 ; i < n ;i++){
if (findx(p) == findx(s[i])){
cnt++;
}
}
cout<<cnt<<endl;
}
return 0;
}
ZJYYC-找出疑似病例相关推荐
- LeetCode简单题之找出两数组的不同
题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...
- LeetCode简单题之在长度 2N 的数组中找出重复 N 次的元素
题目 给你一个整数数组 nums ,该数组具有以下属性: nums.length == 2 * n. nums 包含 n + 1 个 不同的 元素 nums 中恰有一个元素重复 n 次 找出并返回重复 ...
- 找出文件1中有而文件2中没有的数据
// 使用stream方法实现public static List<String> fileterData() throws IOException {String file1Conten ...
- python查找字符串出现次数_Python 中找出字符串中出现频率最高的字母
发现一个学Python的好网站 https://py.checkio.org 第一题大概意思就是找出一个字符串中出现频率最高字母 我的思路也是直接,弄个字典,遍历字符串,将键值对填进字典里,健就是字母 ...
- 找出最接近的相似串(DP思想)
题目:找出最接近的相似串 假设从一个串变化成另一个串所允许的操作只有两种:插入一个字符或者删除一个字符.无论是插入还是删除一个符号,均算作一次操作.一般情况下,度量两个串S1和S2的相似性,可以通过从 ...
- linux下比较文件并输出,Linux使用diff命令比较文件找出文件之间相同的部分
如果你需要比较系统文件的内容,那么你就会是使用到diff命令,可找出文件之间相同的部分,下面小编就给大家详细介绍下Linux diff命令的用法. diff 命令是 linux上非常重要的工具,用于比 ...
- 已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者。
已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者. 答案: int max(int a,int b) { return (a+b+abs(a-b))/2; } ...
- 找出字符串中所有数字
刚才网友在SKYPE问Insus.NET一个问题,在MS SQL中,怎样找出一个字符串所有数字. Insus.NET使用较简单与平常的方法,就是使用循环的方法,循环字符串中每一个字符,并插入至一个表变 ...
- facebook 直播_什么时候是在Facebook Live上直播的最佳时间? 我分析了5,000个Facebook帖子以找出答案。...
facebook 直播 by Ofir Chakon 由Ofir Chakon 什么时候是在Facebook Live上直播的最佳时间? 我分析了5,000个Facebook帖子以找出答案. (Whe ...
- 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...
最新文章
- OpenCV 笔记(05)— opencv.hpp 头文件作用(是其它所有头文件的全集)
- 性能测试回归测试_自动网站性能回归测试
- 为什么要继承Serializable类?
- 【忘川风华录】雅社——公会社交系统交互设计思考
- a=a+b和a+=b的区别
- runtime的意义
- Ubuntu 安装 Java EE
- Python使用pytesseract进行验证码图像识别
- 常见容错机制:failover、failfast、failback、failsafe
- 七大行星排列图片_太阳系八大行星大小及排列顺序
- 使用Graphics将字符串居中绘制到图片上
- Mysql将txt文件导入数据库采坑 load data local infile
- Turtle库绘画实例
- C语言打印某一年的日历 (2*6格式)
- mysql1598_mysql中主从复制中出现ERROR 1598 (HY000)错误
- codeforces 961 D. Pair Of Lines (几何,向量叉乘,三点共线)
- 2020计算机考研985,2020考研:这几所985一个A+学科快来看看吧
- android apk 自动编译器,Android APK编译流程
- 【一文读懂】Mysql索引原理之环环相扣
- 电脑出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。