在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。

输入格式:
输入在第一行给出一个正整数N(<= 10^4^),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:
K P[1] P[2] ... P[K]
其中K是小圈子里的人数,P[i](i=1, .., K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会超过10^4^。
之后一行给出一个非负整数Q(<= 10^4^),是查询次数。随后Q行,每行给出一对被查询的人的编号。

输出格式:
首先在一行中输出这个社区的总人数、以及互不相交的部落的个数。随后对每一次查询,如果他们属于同一个部落,则在一行中输出“Y”,否则输出“N”。

输入样例:
4
3 10 1 2
2 3 4
4 1 5 7 8
3 9 6 4
2
10 5
3 7
输出样例:
10 2
Y
N

#include <cstdio>
#include <set>
using namespace std;
int father[10010];
int findFather(int x) {while (x != father[x])x = father[x];return x;
}
set<int> total;
void unionFather(int a, int b) {total.insert(a);total.insert(b);int fa = findFather(a), fb = findFather(b);if (fa < fb) father[fb] = fa;else father[fa] = fb;
}
int main() {for (int i = 0; i <= 10000; i++) father[i] = i;int n, k, t, s, q;scanf("%d", &n);for (int i = 0; i < n; i++) {scanf("%d %d", &k, &t);if (k == 1) unionFather(t, t);for (int j = 1; j < k; j++) {scanf("%d",&s);unionFather(t, s);}}set<int> cnt;for (auto it = total.begin(); it != total.end(); it++) cnt.insert(findFather(*it));printf("%lu %lu\n", total.size(), cnt.size());scanf("%d", &q);for (int i = 0; i < q; i++) {scanf("%d %d", &t, &s);printf("%c\n", findFather(t) == findFather(s) ? 'Y' : 'N');}return 0;
}

L2-024. 部落-PAT团体程序设计天梯赛GPLT相关推荐

  1. L2-005 集合相似度-PAT团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-005 集合相似度 题目大意 给定 nnn 个集合,然后有 kkk 次询问,每次询问都要求出 Nc/Nt×100%N_c / N_t \times ...

  2. L1-079 天梯赛的善良 (20 分)-PAT 团体程序设计天梯赛 GPLT

    天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. 于是命题组首先将编程能力划分成了 106个等级( ...

  3. L1-078 吉老师的回归 (15 分)-PAT 团体程序设计天梯赛 GPLT

    曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的.只包括可打印符号的字符串描述出来,如:Problem A: Print &q ...

  4. [Python] L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT

    2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...

  5. L1-052 2018我们要赢-PAT团体程序设计天梯赛GPLT

    2018年天梯赛的注册邀请码是"2018wmyy",意思就是"2018我们要赢".本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在第 ...

  6. L3-007. 天梯地图-PAT团体程序设计天梯赛GPLT

    本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至少存在一条可达路线. 输 ...

  7. L3-011 直捣黄龙 (30 分)-PAT 团体程序设计天梯赛 GPLT

    本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径不唯一时,要求选择可以沿途解放最多城镇 ...

  8. [Python] L1-045 宇宙无敌大招呼-PAT团体程序设计天梯赛GPLT

    据说所有程序员学习的第一个程序都是在屏幕上输出一句"Hello World",跟这个世界打个招呼.作为天梯赛中的程序员,你写的程序得高级一点,要能跟任意指定的星球打招呼. 输入格式 ...

  9. [Python] L1-005. 考试座位号-PAT团体程序设计天梯赛GPLT

    L1-005. 考试座位号 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号 ...

最新文章

  1. 根据镜像安装oracle插件,docker镜像alpine中安装oracle客户端
  2. 【51CTO学院三周年】遇到
  3. 2019年首期“医工结合科研创新支持计划”项目申报获批:医工携手 强校强国...
  4. 异常详细信息: System.ArgumentException: 不支持关键字: “metadata”。
  5. ElasticSearch 基础概念学习(未完)
  6. 数据库连接用户名和密码加密
  7. python中xml模块_python常用模块之xml模块
  8. Python 文件写操作
  9. 你若安好,便是晴天。
  10. 计算机中丢失setupxml.dll,Win7电脑安装VideoStudio Pro X6显示丢失SetupXML.dll文件怎么解决...
  11. 信息安全工程师笔记-综合知识冲刺(三)
  12. 马斯克如何通过生小孩统治世界?
  13. HDMI和DVI的HDCP握手问题分析及其解决方案精粹
  14. Pyhont 高阶函数
  15. 网吧电脑显示连不上服务器,Pubwin客户机连不上服务器怎么办?
  16. Atitit it 互联网 软件牛人的博客列表
  17. 【致青春】岛风青春,井空年华
  18. 【渝粤教育】电大中专消费者行为学_1作业 题库
  19. 设计模式之Builder模式(链式调用)
  20. FPGA——基于Verilog HDL语言的交通信号灯控制系统

热门文章

  1. 基础总结篇之七:ContentProvider之读写短消息
  2. QEMU, KVM, QEMU-KVM 和 Goldfish
  3. codeforces 112APetya and Strings(字符串水题)
  4. iOS开发进阶教程【第一季小试牛刀】
  5. 拓步T66Ⅱ(牛牛2)Root教程
  6. css3在线快速制作工具
  7. 转载:性能计数器分析
  8. .Net中俩种使用不定参数的方法
  9. 流拍后,Cerberus 银行木马源代码在黑市免费公开
  10. zookeeper学习02 使用