55382023-07-13 21:02:19111Lámpákcpp14Hibás válasz 55/10093ms26688 KiB
#include <bits/stdc++.h>
using namespace std;

char* pi = new char[10000000];

unsigned int ru() {
	while (!isdigit(*pi)) {
		pi++;
	}
	int x = 0;
	while (isdigit(*pi)) {
		x *= 10;
		x += *pi - '0';
		pi++;
	}
	return x;
}

int main() {
	fread(pi, 10000000, 1, stdin);
//	fread(pi, 10000000, 1, fopen("be2.txt", "r"));
	int N = ru(), K = ru(), Q = ru();
	K %= 32;
	vector<int> v(N + 1);
	for (int i = 2; i <= N; i++) {
		v[i] = ru();
	}
	while (Q--) {
		vector<int> w(N + 1);
		for (int i = 1; i <= N; i++) {
			w[i] = ru();
		}
		vector<int> u(N + 1);
		for (int i = 1; i <= N; i++) {
			u[v[i]] ^= w[i];
		}
		for (int k = 0; k < K; k++) {
			for (int i = N; i >= 1; i--) {
				if (u[i]) {
					w[i] ^= 1;
					u[v[i]] ^= 1;
				}
			}
		}
		cout << w[1] << '\n';
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1816 KiB
2Elfogadva3ms2044 KiB
subtask215/15
3Elfogadva3ms2416 KiB
4Elfogadva6ms4148 KiB
5Elfogadva29ms8996 KiB
subtask310/10
6Elfogadva3ms4608 KiB
7Elfogadva3ms4700 KiB
8Elfogadva3ms4616 KiB
9Elfogadva3ms4624 KiB
10Elfogadva3ms4644 KiB
subtask430/30
11Elfogadva12ms5712 KiB
12Elfogadva8ms5980 KiB
13Elfogadva14ms6528 KiB
14Elfogadva8ms7068 KiB
15Elfogadva16ms7316 KiB
16Elfogadva13ms7536 KiB
17Elfogadva29ms8088 KiB
subtask50/45
18Elfogadva34ms11680 KiB
19Hibás válasz61ms12840 KiB
20Hibás válasz41ms13952 KiB
21Hibás válasz41ms15008 KiB
22Hibás válasz45ms16124 KiB
23Elfogadva46ms20408 KiB
24Hibás válasz41ms22072 KiB
25Hibás válasz93ms23604 KiB
26Hibás válasz25ms25152 KiB
27Hibás válasz48ms26688 KiB
28Hibás válasz65ms24528 KiB
29Hibás válasz61ms25512 KiB