比赛 20170912 评测结果 AAATTTTTTA
题目名称 平凡的测试数据 最终得分 40
用户昵称 123 运行时间 6.019 s
代码语言 C++ 内存使用 1.69 MiB
提交时间 2017-09-12 21:38:44
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
int f[100600]={0},n,m;
int hh[100000]={0},sum=0;
int dfsa(int u)
{
	int i,j;
	if(f[u]!=u)
	{
		sum=sum^hh[f[u]];
		dfsa(f[u]);
	}
	return 0;
}
int main(){
	freopen ("td.in","r",stdin);
	freopen ("td.out","w",stdout);
	int a,b,c,d;
	scanf("%d%d",&n,&m);
	for(a=1;a<=n;a++)
		scanf("%d",&hh[a]);
	for(a=1;a<=n;a++)
		f[a]=a;
	for(a=1;a<=m;a++)
	{
		cin>>b;
		if(b==1)
		{
			cin>>c>>d;
			f[c]=d;
		}
		else
		{
			cin>>c;
			sum=hh[c];
			dfsa(c);
			if(f[c]==c)
				printf("%d\n",hh[c]);
			else
				printf("%d\n",sum);
		}
	}
	return 0;
}