Submission #844572

#TimeUsernameProblemLanguageResultExecution timeMemory
844572vjudge1Klasika (COCI20_klasika)C++17
33 / 110
5092 ms6024 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl "\n" #define all(c) (c).begin(), (c).end() const int N = 1e5 + 5; vector<int> adj[N],xr(N); int res; void dfs(int node,int val){ res = max(res,val ^ xr[node]); for(int go : adj[node]){ dfs(go,val); } } void solve(){ int q; cin >> q; int cnt = 1; for(int i = 0; i < q; i++){ string s; cin >> s; int x,y; cin >> x >> y; if(s[0] == 'A'){ adj[x].push_back(++cnt); xr[cnt] = xr[x] ^ y; } else{ res = 0; dfs(y,xr[x]); cout << res << endl; } } } signed main(){ #ifndef ONLINE_JUDGE // freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...