9738 2024. 03. 04 21:28:06 anon Lámpák cpp17 Elfogadva 100/100 59ms 6012 KiB
#include <bits/stdc++.h>
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
bool is_binomial_odd(ll n, ll k) {
    if(!k)
        return true;
    if((1 - n & 1) && (k & 1))
        return false;
    return is_binomial_odd(n / 2, k / 2);
}
int main() {
    FastIO;
    ll i, ans, N, K, Q, P, S;
    cin >> N >> K >> Q;
    vector<ll> D(N + 1);
    D[1] = 0;
    for(i = 2; i <= N; i++) {
        cin >> P;
        D[i] = D[P] + 1;
    }
    while(Q--) {
        cin >> ans;
        for(i = 2; i <= N; i++) {
            cin >> S;
            if(S && is_binomial_odd(D[i] + K - 1, D[i]))
                ans ^= 1;
        }
        cout << ans << '\n';
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1824 KiB
2 Elfogadva 3ms 2020 KiB
subtask2 15/15
3 Elfogadva 3ms 2240 KiB
4 Elfogadva 19ms 2680 KiB
5 Elfogadva 52ms 4184 KiB
subtask3 10/10
6 Elfogadva 3ms 2832 KiB
7 Elfogadva 3ms 2924 KiB
8 Elfogadva 3ms 2932 KiB
9 Elfogadva 3ms 3160 KiB
10 Elfogadva 3ms 3384 KiB
subtask4 30/30
11 Elfogadva 16ms 3516 KiB
12 Elfogadva 16ms 3496 KiB
13 Elfogadva 16ms 3696 KiB
14 Elfogadva 16ms 3832 KiB
15 Elfogadva 14ms 4040 KiB
16 Elfogadva 16ms 4256 KiB
17 Elfogadva 14ms 4332 KiB
subtask5 45/45
18 Elfogadva 48ms 4584 KiB
19 Elfogadva 52ms 4516 KiB
20 Elfogadva 48ms 4500 KiB
21 Elfogadva 52ms 4496 KiB
22 Elfogadva 50ms 4772 KiB
23 Elfogadva 57ms 5936 KiB
24 Elfogadva 59ms 5992 KiB
25 Elfogadva 57ms 6000 KiB
26 Elfogadva 57ms 6000 KiB
27 Elfogadva 59ms 6012 KiB
28 Elfogadva 45ms 4660 KiB
29 Elfogadva 45ms 4652 KiB