首页 > 其他分享 >现在有一个并查集,你需要完成合并和查询操作。

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

时间:2022-12-09 22:01:01浏览次数:46  
标签:yi 输出 xi zi int 查集 合并 查询 root

输入格式:

第一行包含两个整数 N,M ,表示共有 N 个元素和 M 个操作。
接下来 M 行,每行包含三个整数 zi,xi,yi 。
当 zi=1 时,将 xi与yi所在的集合合并。
当 zi=2 时,输出xi与yi 是否在同一集合内,是的输出 Y ;否则输出 N.

输出格式:

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

输入样例:

4 7
2 1 2
1 1 2
2 1 2
1 3 4
2 1 4
1 2 3
2 1 4

输出样例:

N
Y
N
Y
#include <bits/stdc++.h>
using namespace std;
int a[10086];
int root(int x)
{
	if(a[x]==x)
	{
		return x;
	}
	else
	{
		a[x]=root(a[x]);
		return a[x];
	}
}//查根

void bine(int x,int y)
{
	x=root(x);
	y=root(y);
	if(x!=y)
	{
		a[x]=y;
	}
}//合并,可优化

int main() 
{
	int n,m,i;
	cin>>n>>m;
	for(i=1;i<=n;i++)
	{
		a[i]=i;
	}
	
	for(i=1;i<=m;i++)
	{
		int op,x,y;
		cin>>op>>x>>y;
		if(op==1)
		{
			bine(x,y);
		}
		else
		{
			if(root(x)==root(y))
			{
				cout<<"Y"<<endl;
			}
			else
			{
				cout<<"N"<<endl;
			}
		}
	}
	return 0;
}

 

标签:yi,输出,xi,zi,int,查集,合并,查询,root
From: https://www.cnblogs.com/iceforever7/p/16970106.html

相关文章

  • oracle数据库实现分页查询
    SELECT*FROM ( SELECT T.*, ROWNUMRN FROM (SELECT*FROM表名WHERE条件)T WHERE ROWNUM<=((currentPage-1)*pageSize+pageSize) )......
  • 子分支dev合并到主分支main
    从dev分支合并到主分支main1.首先在分支dev下,修改代码之后,进行commit,并push到远程dev分支2.切换分支到主分支main上,然后右键选择merge,弹框中选择from分支为:dev3.合并后......
  • SpringBoot中MongoDB聚合管道查询操作$facet$lookup$unwind$group
    前言、官方文档、MongoTemplate中的概念前言最近在做基于SpringBoot的MongoDB的聚合管道操作,JSON语句不难写,但是理清楚逻辑、顺序很麻烦,而且在Java(Springboot)上操作聚合......
  • Django ORM之F与Q查询
    1.F查询fromdjango.testimportTestCase#Createyourtestshere.importosif__name__=="__main__":  os.environ.setdefault("DJANGO_SETTINGS_MODULE","da......
  • golang mysql查询textRows和binaryRows解惑
    1.问题之前写了一套统一mysql返回数据的解析库:rows,err:=ms.dbInst.Query(s,args...) //执行SQL语句,比如select*fromusersiferr!=nil{panic(err)}......
  • gitLab合并其他分支
    多人开发难免需要合并被人的分支代码那么如何合并别人的代码呢我这里演示的是gitLab的合并代码1,首先点击左侧的MergeRequests然后在点击Newmergerequest  2,选......
  • 百度开发者根据地名查询经纬度api
    说明工作中,项目经理让我全国的省市区的经纬度进行统计到数据库中,在网上也没有找到好的方式,有些网站也只有一个个查,后来,我想到通过爬虫的形式调用api进行获取,然后找到了百......
  • 【Vue】单元格合并,与动态校验
     效果要求先看需求效果:多个数据授权项,配置的时候,业务名称大多数都是一样的,需要合并单元格处理  在elementUI组件文档中有说明[合并列行]:https://element.eleme......
  • bootstrap列表页展示合并单元格
    bootstrap列表页展示合并单元格​​页面展示效果​​​​页面代码​​页面展示效果页面代码$(function(){varoptions={url:prefix+"/li......
  • IBM、dell、hp、lenovo服务器故障报修、技术支持、服务器保修时间查询地址、电话...
    最近机房服务器硬件故障率有点高,经常需要查询服务器保修相关的信息。对相关资料做了一下统计,方便以后使用:1:DELL服务器:PowerEdge服务器:服务时间:周一至周日全天询服务电话:......