比赛 20170912 评测结果 AAAEEEEEEA
题目名称 平凡的测试数据 最终得分 40
用户昵称 实力演员阵容 运行时间 0.563 s
代码语言 C++ 内存使用 0.54 MiB
提交时间 2017-09-15 13:59:39
显示代码纯文本
#include<cstdio>
using namespace std;
int n,m;
struct tree{
	int q,f,z;
}x[300010];
int search(int r){
	if(x[r].f!=r){
		int prif=x[r].f;
		x[r].f=search(x[r].f);
		x[r].q=x[r].z=x[prif].z^x[r].q;
		return x[r].f;
	}
	else{
		x[r].z=0;
		return r;
	}
}
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",&x[i].q);
		x[i].f=i;
	}
	int k,a,b;
	while(m--){
		scanf("%d",&k);
		if(k==1){
			scanf("%d%d",&a,&b);
			x[a].f=b;
		}
		else{
			scanf("%d",&a);
			search(a);
			printf("%d\n",x[a].z^x[x[a].f].q);
		}
	}
	return 0;
}