比赛 |
20211014 |
评测结果 |
AAAAAAAAAA |
题目名称 |
平凡的测试数据 |
最终得分 |
100 |
用户昵称 |
遥时_彼方 |
运行时间 |
0.511 s |
代码语言 |
C++ |
内存使用 |
6.19 MiB |
提交时间 |
2021-10-14 20:48:42 |
显示代码纯文本
#include<bits/stdc++.h>
#define ull unsigned long long
#define ll long long
using namespace std;
int nc,mc;
struct tre
{
int f;
int p;
}a[600001];
tre dg(int x)
{
if(!a[a[x].f].f) return a[x];
tre re;
re=dg(a[x].f);
a[x].f=re.f;
a[x].p^=re.p;
re.p=a[x].p;
return re;
}
int main()
{
freopen("td.in","r",stdin);
freopen("td.out","w",stdout);
cin>>nc>>mc;
for(int i=1;i<=nc;i++)
{
scanf("%d",&a[i].p);
}
int s1,s2,s3;
for(int i=1;i<=mc;i++)
{
scanf("%d%d",&s1,&s2);
if(s1==1)
{
scanf("%d",&s3);
a[s2].f=s3;
}
else
{
dg(s2);
printf("%d\n",a[s2].p^a[a[s2].f].p);
}
}
return 0;
}
//6 11
//2 3 4 5 6 7
//1 4 3
//1 5 4
//1 6 5
//2 6
//2 4
//2 5
//2 3
//1 3 2
//1 2 1
//2 2
//2 3