【PTA天梯赛CCCC -2017决赛L2-4】部落 (25 分)(图染色)
题干:
在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。
输入格式:
输入在第一行给出一个正整数N(≤104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:
K P[1] P[2] ⋯ P[K]
其中K是小圈子里的人数,P[i](i=1,⋯,K)是小圈子里每个人的编号。这里所有人的编号从1开始连续编号,最大编号不会超过104。
之后一行给出一个非负整数Q(≤104),是查询次数。随后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 分)(图染色)相关推荐
- 【PTA天梯赛CCCC -2017决赛L2-3】图着色问题 (25 分)(图染色)
题干: L2-3 图着色问题 (25 分) 图着色问题是一个著名的NP完全问题.给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色? 但本题 ...
- 【PTA天梯赛CCCC -2017决赛L1-6 】整除光棍 (20 分)(大数模拟除法)
题干: 这里所谓的"光棍",并不是指单身汪啦~ 说的是全部由1组成的数字,比如1.11.111.1111等.传说任何一个光棍都能被一个不以5结尾的奇数整除.比如,111111就可以 ...
- 2019年天梯赛-全国总决赛-L2-032 彩虹瓶 (25 分)
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/1111914599412858889 题目大意:判断给定的入栈序列,判 ...
- 天梯赛练习集 L2-021 点赞狂魔(25分)含测试点解析
微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么一种人,他们会通过给自己看到的一 ...
- 软件学院天梯赛参赛队员第一次训练 L2-1 红豆生南国 (25 分)(完全二叉树,树的遍历,重建二叉树,DFS)
题目: 有诗云: 相思 (王维 唐)红豆生南国, 春来发几枝.愿君多采撷, 此物最相思. 那么,我们来采红豆吧! 假设红豆树是这个样子的: 这种红豆树的特点是: 每个结点都有一个正整数编号,标在结点内 ...
- 天梯赛:L2-027 名人堂与代金券 (25 分)
题目详情 - L2-027 名人堂与代金券 (25 分) (pintia.cn) 题解:就简单的用一个sort对结构体排序.重点在于对输出的处理上,可能有多个相同的分数.比如n个人都是一样的分数,这时 ...
- 【PTA天梯赛练习题目2】
pta天梯赛练习题目 考试座位号 每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的 ...
- pta天梯赛 非常弹得球
pta天梯赛 7-2 非常弹的球 刚上高一的森森为了学好物理,买了一个"非常弹"的球.虽然说是非常弹的球,其实也就是一般的弹力球而已.森森玩了一会儿弹力球后突然想到,假如他在地上用 ...
- 【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 ...
最新文章
- Python的隐藏功能
- NR 5G PDCP分组数据汇聚协议
- PUSH进栈指令和POP出栈指令
- 安卓手机可以连接斑马系统吗_Zebra斑马 StageNow 安卓系统移动设备快速部署工具...
- 在iOS8 下用Swift 创建自定义的键盘
- mysql 随机选取一条记录
- DecExpress 帮助网站
- 使用TortoiseGit提交代码到Github.com上 详细步骤
- 2万月薪招聘名校学生养猪:不好好学习,养猪都不要你
- Java安装环境变量配置-day1
- Iptables详解之iptables命令的参数
- (转)LIB和DLL的区别与使用
- 二、自然语言处理发展历程
- Lorenz系统的吸引子相图
- c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
- python绘制国内生产总值散点图_Python学习第90课-数据可视化之散点图绘制
- 做跨境电商一年买了房: 未来五年的风口行业,90%的人都不知道 !
- 猪场超级管家 v4.0 免费
- Tcp/Udp端口对照表
- 【JavaEE】网络编程基础之Socket套接字
热门文章
- 143. 最大异或对
- linux 磁盘科隆,上海第二工业大学嵌入式操作系统B复习(无答案版)
- java 新窗口跳转页面_Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开...
- 有效数据外含有额外数据_Excel|应用数据有效性规范数据录入
- airpodspro窃听模式_AirPods Pro实时收听怎么关闭? AirPods Pro实时收听的使用方法
- elementui树状菜单tree_vue.js+element-ui做出菜单树形结构
- u-boot的Makefile分析
- HTTP代理原理以及HTTP隧道技术
- MySQL——基本配置
- oracle事务数统计,Oracle 查询事务数