55392023-07-13 21:03:08111Lámpákcpp14Hibás válasz 55/100777ms10216 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 %= 256;
	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
2Elfogadva3ms2040 KiB
subtask215/15
3Elfogadva6ms2292 KiB
4Elfogadva50ms3492 KiB
5Elfogadva56ms7288 KiB
subtask310/10
6Elfogadva3ms2920 KiB
7Elfogadva3ms2996 KiB
8Elfogadva3ms3096 KiB
9Elfogadva4ms3124 KiB
10Elfogadva4ms3332 KiB
subtask430/30
11Elfogadva52ms3964 KiB
12Elfogadva54ms4220 KiB
13Elfogadva37ms4308 KiB
14Elfogadva39ms4624 KiB
15Elfogadva16ms4588 KiB
16Elfogadva50ms4588 KiB
17Elfogadva78ms4584 KiB
subtask50/45
18Elfogadva172ms6764 KiB
19Hibás válasz239ms6832 KiB
20Hibás válasz307ms6836 KiB
21Hibás válasz763ms6916 KiB
22Hibás válasz647ms6944 KiB
23Elfogadva254ms9340 KiB
24Hibás válasz129ms9768 KiB
25Hibás válasz273ms9968 KiB
26Hibás válasz388ms10216 KiB
27Hibás válasz777ms10116 KiB
28Hibás válasz324ms7204 KiB
29Hibás válasz236ms7160 KiB