Prihlásenie Registrácia  

E - Walsh-Hadamard

Časový limit: 1s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Hadamardova matica rádu n je matica n x n obsahujúca len 1 a -1 taká, že skalárny súčin ľubovoľných dvoch rôznych riadkov je 0. Je známa konštrukcia Hadamardových matíc rádu 2k, indukciou takto:

H1
H2n
Napr. matice H2 a H4 vyzerajú nasledovne:
H2
H4

Walsh-Hadamardova matica W2k vznikne z uvedenej Hadamardovej matice H2k, usporiadaním riadkov podľa rastúceho počtu zmien 1 na -1 (a opačne) pri čítaní prvkov daného riadku zľava doprava. Počty zmien pre jednotlivé riadky v matici H4 sú postupne 0, 3, 1 a 2. Preto matica W4 vyzerá takto:

W4

Úloha

Úlohou je pre dané k, i a j vypočítať prvok Walsh-Hadamardovej matice W2k na riadku i a stĺpci j (obe sú číslované od 1).

Vstup

Prvý riadok vstupu obsahuje jediné číslo T (1 ≤ T ≤ 1000). Každý z ďalších T riadkov obsahuje tri medzerou oddelené celé čísla k, i a j (0 ≤ k ≤ 30, 1 ≤ i,j ≤ 2k).

Výstup

Výstup by mal obsahovať T riadkov. V každom riadku by sa mal nachádzať prvok na i-tom riadku a j-tom stĺpci matice W2k pre príslušné k, i a j zo vstupu.

Príklad

Vstup

3
2 1 1
2 2 2
2 3 2

Výstup

1
1
-1