P3367 并查集【模板】 洛谷
发布日期:2021-08-17 10:08:18 浏览次数:53 分类:技术文章

本文共 791 字,大约阅读时间需要 2 分钟。

题目描述

如题,现在有一个并查集,你需要完成合并和查询操作。

输入输出格式

输入格式:

 

第一行包含两个整数N、M,表示共有N个元素和M个操作。

接下来M行,每行包含三个整数Zi、Xi、Yi

当Zi=1时,将Xi与Yi所在的集合合并

当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N

 

输出格式:

 

如上,对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y或者N

 

输入输出样例

输入样例#1:
4 72 1 21 1 22 1 21 3 42 1 41 2 32 1 4
输出样例#1:
NYNY

说明

时空限制:1000ms,

数据规模: 128M

 

#include 
#include
using namespace std;int n,m,x,y,z;int fa[1000015];int find(int x){ if(fa[x]!=x) return fa[x]=find(fa[x]); return x;}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) fa[i]=i; for(int i=1;i<=m;i++) { scanf("%d%d%d",&z,&x,&y); if(z==1) fa[find(x)]=find(y); if(z==2) if(find(x)==find(y)) cout<<"Y"<

 

转载于:https://www.cnblogs.com/Shy-key/p/6512214.html

转载地址:https://blog.csdn.net/weixin_30846599/article/details/99271112 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:由乱序播放说开了去-数组的打乱算法Fisher–Yates Shuffle
下一篇:文本离散表示(二):新闻语料的one-hot编码

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月12日 08时09分52秒