#include <bits/stdc++.h>
using namespace std;
#define MAXQ 200200
vector<int> chi[MAXQ];
int val[MAXQ];
int t=1;
int dfs(int v, int vl) {
int ans=val[v]^vl;
for(auto u : chi[v]) {
ans=max(ans, dfs(u, vl));
}
return ans;
}
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
val[1]=0;
int q;
cin >> q;
for(int i=0;i<q;i++) {
string op;
cin >> op;
if(op=="Add") {
int x, y;
cin >> x >> y;
++t;
chi[x].push_back(t);
val[t]=val[x]^y;
} else {
int a, b;
cin >> a >> b;
cout << dfs(b, val[a]) << "\n";
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |