#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mp make_pair
#define pii pair<int, int>
#define fi first
#define se second
const int maxn = 15;
const int logk = 31;
int n, k, q;
int par[1 + maxn];
int nxt[1 << maxn];
int ans[1 << maxn];
int lift[1 << maxn][logk];
int find_nxt(int mask) {
vector<int> state(1 + n, 0);
for(int i = 1; i <= n; i++) {
state[i] = (mask >> (i - 1)) & 1;
}
vector<int> subtreexor(1 + n, 0);
for(int i = n; i >= 1; i--) {
int prevxor = subtreexor[i];
subtreexor[i] ^= state[i];
state[i] ^= prevxor;
subtreexor[par[i]] ^= subtreexor[i];
}
int res = 0;
for(int i = 1; i <= n; i++) {
res += (1 << (i - 1)) * state[i];
}
return res;
}
void solve() {
cin >> n >> k >> q;
for(int i = 2; i <= n; i++) {
cin >> par[i];
}
for(int i = 0; i < (1 << n); i++) {
nxt[i] = find_nxt(i);
}
for(int i = 0; i < (1 << n); i++) {
lift[i][0] = nxt[i];
}
for(int j = 1; j < logk; j++) {
for(int i = 0; i < (1 << n); i++) {
lift[i][j] = lift[lift[i][j - 1]][j - 1];
}
}
for(int i = 0; i < (1 << n); i++) {
ans[i] = i;
for(int j = logk - 1; j >= 0; j--) {
if((1 << j) & k) {
ans[i] = lift[ans[i]][j];
}
}
}
for(int qi = 1; qi <= q; qi++) {
int mask = 0;
for(int i = 0; i < n; i++) {
int x;
cin >> x;
mask += x * (1 << i);
}
cout << (ans[mask] & 1) << "\n";
}
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1848 KiB | ||||
2 | Elfogadva | 4ms | 3196 KiB | ||||
subtask2 | 0/15 | ||||||
3 | Hibás válasz | 3ms | 2376 KiB | ||||
4 | Hibás válasz | 3ms | 2712 KiB | ||||
5 | Hibás válasz | 3ms | 2948 KiB | ||||
subtask3 | 0/10 | ||||||
6 | Hibás válasz | 3ms | 3048 KiB | ||||
7 | Hibás válasz | 3ms | 2668 KiB | ||||
8 | Futási hiba | 14ms | 11344 KiB | ||||
9 | Futási hiba | 4ms | 5304 KiB | ||||
10 | Futási hiba | 7ms | 3348 KiB | ||||
subtask4 | 30/30 | ||||||
11 | Elfogadva | 28ms | 11436 KiB | ||||
12 | Elfogadva | 28ms | 11496 KiB | ||||
13 | Elfogadva | 28ms | 11496 KiB | ||||
14 | Elfogadva | 28ms | 11496 KiB | ||||
15 | Elfogadva | 28ms | 11500 KiB | ||||
16 | Elfogadva | 28ms | 11504 KiB | ||||
17 | Elfogadva | 28ms | 11756 KiB | ||||
subtask5 | 0/45 | ||||||
18 | Hibás válasz | 3ms | 3332 KiB | ||||
19 | Futási hiba | 14ms | 11940 KiB | ||||
20 | Futási hiba | 16ms | 12136 KiB | ||||
21 | Futási hiba | 7ms | 4068 KiB | ||||
22 | Futási hiba | 7ms | 4064 KiB | ||||
23 | Futási hiba | 14ms | 12252 KiB | ||||
24 | Futási hiba | 7ms | 4032 KiB | ||||
25 | Futási hiba | 7ms | 4280 KiB | ||||
26 | Futási hiba | 7ms | 4388 KiB | ||||
27 | Futási hiba | 7ms | 4396 KiB | ||||
28 | Futási hiba | 14ms | 12472 KiB | ||||
29 | Futási hiba | 8ms | 8444 KiB |