记录编号 577320 评测结果 AAAAAAAAAA
题目名称 平凡的测试数据 最终得分 100
用户昵称 GravatarZRQ 是否通过 通过
代码语言 C++ 运行时间 0.540 s
提交时间 2022-10-31 17:33:30 内存使用 5.50 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int N=300010;
int n,m,a[N],s[N],fa[N];
int find(int x)
{
	if(x==fa[x]) return x;
	int fx=find(fa[x]);
	s[x]^=a[fa[x]]^s[fa[x]];
	fa[x]=fx;
	return fx;
}
int main()
{
	freopen("td.in","r",stdin);
	freopen("td.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)
	{
		scanf("%d",&a[i]);
		fa[i]=i;
		s[i]=a[i];
	}
	for(int i=1,opt,a,b;i<=m;++i)
	{
		scanf("%d%d",&opt,&a);
		if(opt==1)
		{
			scanf("%d",&b);
			s[a]^=s[b];
			b=find(b);
			fa[a]=b;
		}
		else
		{
			find(a);
			printf("%d\n",s[a]);
		}
	}
	return 0;
}