jaf (hard)

Time limit: 0.3s Memory limit: 64MB Input: jaf.in Output: jaf.out

Mai sunt câteva minute până la întoarcerea miliardarului de la partida săptămânală de golf, iar Gigi și Gina (un fel de duo Bonnie și Clyde de România) i-au descoperit seiful. Din fericire, ei au de la menajeră o listă de posibile coduri. Cum miliardarul este un om foarte prudent și nu vrea ca cineva să îi rețină cifrul, folosește în tastarea lui doar cifrele 00 și 11 - reprezentarea binară a unui număr special. Astfel, codul final este unul foarte lung și aproape imposibil de memorat.

Totuși, Gigi și Gina mai au o informație valoroasă, care îi va ajuta să elimine dintre codurile posibile primite de la menajeră: numărul special este divizibil cu 33.

Pentru a economisi timp, ei vor să încerce doar acele coduri care ar putea fi corecte (cum cifrul poate fi unul lung, tastarea fiecărui cod durează).

Cerință

Se citește un număr natural TT, reprezentând numărul de teste care urmează. Pentru fiecare test se citește o valoare naturală NN, numărul caracterelor din cod, iar apoi NN cifre de 00 sau 11. Scrieți un program care să decidă pentru un set de coduri primite dacă ar putea fi corecte (corespund codificării unui număr divizibil cu 33).

Date de intrare

Fișierul de intrare jaf.in conține pe prima linie un număr natural TT, reprezentând numărul testelor. Pe următoarele TT linii avem un număr natural NN și apoi NN cifre de 00 sau 11, separate prin câte un spațiu.

Date de ieșire

În fișierul jaf.out se va scrie pe linia ii mesajul DA, dacă al ii-lea cifru primit poate fi unul corect sau NU, dacă acesta este greșit.

Restricții și precizări

  • 1N10 0001 \leq N \leq 10 \ 000
  • 1T1001 \leq T \leq 100
  • Șirul cifrelor poate începe cu mai multe cifre de 0.
# Puntaj Restricții
1 35 N<31N < 31
2 35 N<63N < 63
3 30 Fără restricții suplimentare

Exemplu

jaf.in

5
6 1 0 0 1 0 0
8 1 0 1 0 1 0 0 1
7 0 0 1 1 0 0 0
4 1 0 1 0
7 1 0 0 0 1 0 0

jaf.out

DA
NU
DA
NU
NU

Explicație

100100(2)=36(10)100100_{(2)}=36_{(10)} este multiplu de 33
10101001(2)=169(10)10101001_{(2)}=169_{(10)} nu este multiplu de 33
0011000(2)=24(10)0011000_{(2)}=24_{(10)} este multiplu de 33
1010(2)=10(10)1010_{(2)}=10_{(10)} nu este multiplu de 33
1000100(2)=68(10)1000100_{(2)}=68_{(10)} nu este multiplu de 33

Log in or sign up to be able to send submissions!