题干:

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

输入格式:

输入在第一行给出一个正整数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

解题报告:

并查集就完事了。

AC代码:

#include<bits/stdc++.h>typedef long long ll;
using namespace std;
const int MAX = 2e5 + 5;
int f[MAX];
int a[MAX];
int getf(int v) {return f[v] == v ? v : f[v] = getf(f[v]);
}
void merge(int u,int v) {int t1 = getf(u);int t2 = getf(v);f[t2] = t1;
}
int main()
{int n,maxx = 0;cin>>n;for(int i = 1; i<=10000; i++) f[i] = i;for(int k,i = 1; i<=n; i++) {cin>>k;for(int j = 1; j<=k; j++) {cin>>a[j];maxx = max(a[j],maxx);}for(int j = 1; j<k; j++) merge(a[j],a[j+1]);}int ans = 0;for(int i = 1; i<=maxx; i++) {if(f[i] == i) ans++;}printf("%d %d\n",maxx,ans);int q;cin>>q;int a,b;while(q--) {cin>>a>>b;if(getf(a) == getf(b)) puts("Y");else puts("N");}return 0 ;
}

【PTA天梯赛CCCC -2017决赛L2-4】部落 (25 分)(图染色)相关推荐

  1. 【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)

    题干: L2-3 图着色问题 (25 分) 图着色问题是一个著名的NP完全问题.给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色? 但本题 ...

  2. 【PTA天梯赛CCCC -2017决赛L1-6 】整除光棍 (20 分)(大数模拟除法)

    题干: 这里所谓的"光棍",并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以 ...

  3. 2019年天梯赛-全国总决赛-L2-032 彩虹瓶 (25 分)

    题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/1111914599412858889 题目大意:判断给定的入栈序列,判 ...

  4. 天梯赛练习集 L2-021 点赞狂魔(25分)含测试点解析

    微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么一种人,他们会通过给自己看到的一 ...

  5. 软件学院天梯赛参赛队员第一次训练 L2-1 红豆生南国 (25 分)(完全二叉树,树的遍历,重建二叉树,DFS)

    题目: 有诗云: 相思 (王维 唐)红豆生南国, 春来发几枝.愿君多采撷, 此物最相思. 那么,我们来采红豆吧! 假设红豆树是这个样子的: 这种红豆树的特点是: 每个结点都有一个正整数编号,标在结点内 ...

  6. 天梯赛:L2-027 名人堂与代金券 (25 分)

    题目详情 - L2-027 名人堂与代金券 (25 分) (pintia.cn) 题解:就简单的用一个sort对结构体排序.重点在于对输出的处理上,可能有多个相同的分数.比如n个人都是一样的分数,这时 ...

  7. 【PTA天梯赛练习题目2】

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

  8. pta天梯赛 非常弹得球

    pta天梯赛 7-2 非常弹的球 刚上高一的森森为了学好物理,买了一个"非常弹"的球.虽然说是非常弹的球,其实也就是一般的弹力球而已.森森玩了一会儿弹力球后突然想到,假如他在地上用 ...

  9. 【2023团体程序设计天梯赛CCCC】GPLT2023,L1~L2部分(PTA,L1-089~L1-096,L2-045~L2-048)题解代码复盘

    文章目录 概要 L1-089 最好的文档 5 L1-090 什么是机器学习 5 L1-091 程序员买包子 10 L1-092 进化论 10 L1-093 猜帽子游戏 15 L1-094 剪切粘贴 1 ...

最新文章

  1. Python的隐藏功能
  2. NR 5G PDCP分组数据汇聚协议
  3. PUSH进栈指令和POP出栈指令
  4. 安卓手机可以连接斑马系统吗_Zebra斑马 StageNow 安卓系统移动设备快速部署工具...
  5. 在iOS8 下用Swift 创建自定义的键盘
  6. mysql 随机选取一条记录
  7. DecExpress 帮助网站
  8. 使用TortoiseGit提交代码到Github.com上 详细步骤
  9. 2万月薪招聘名校学生养猪:不好好学习,养猪都不要你
  10. Java安装环境变量配置-day1
  11. Iptables详解之iptables命令的参数
  12. (转)LIB和DLL的区别与使用
  13. 二、自然语言处理发展历程
  14. Lorenz系统的吸引子相图
  15. c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
  16. python绘制国内生产总值散点图_Python学习第90课-数据可视化之散点图绘制
  17. 做跨境电商一年买了房: 未来五年的风口行业,90%的人都不知道 !
  18. 猪场超级管家 v4.0 免费
  19. Tcp/Udp端口对照表
  20. 【JavaEE】网络编程基础之Socket套接字

热门文章

  1. 143. 最大异或对
  2. linux 磁盘科隆,上海第二工业大学嵌入式操作系统B复习(无答案版)
  3. java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...
  4. 有效数据外含有额外数据_Excel|应用数据有效性规范数据录入
  5. airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法
  6. elementui树状菜单tree_vue.js+element-ui做出菜单树形结构
  7. u-boot的Makefile分析
  8. HTTP代理原理以及HTTP隧道技术
  9. MySQL——基本配置
  10. oracle事务数统计,Oracle 查询事务数