답안 #223310

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
223310 2020-04-15T07:07:39 Z dantoh000 Klasika (COCI20_klasika) C++14
0 / 110
587 ms 3448 KB
#include <bits/stdc++.h>

using namespace std;

const int N = 1e5 + 10, LOG_A = 30;
int k;
int basis[LOG_A];
int num[N];
int sz;
int ct = 0;
void insertVector(int mask) {
	for (int i = 0; i < LOG_A; i++) {
		if ((mask & 1 << i) == 0) continue;
		if (!basis[i]) {
			basis[i] = mask;
			++sz;
			return;
		}
		mask ^= basis[i];
	}
}
int maxxor(int cur){
    for (int i = LOG_A; i >= 0; i--){
        if ((cur & 1<<i) == 0){
            if (basis[i]){
                cur ^= basis[i];
            }
        }
    }
    return cur;
}

int main() {
	int q;
	cin >> q;

	while (q--) {
        string Q;
        int a,b;
		cin >> Q >> a >> b;
		if (Q == "Add"){
            num[++ct] = num[a]^b;
            insertVector(num[ct]);
		}
        else if (Q == "Query"){
            printf("%d\n",maxxor(num[a]));
        }
	}

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 587 ms 3448 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -