Fişierul intrare/ieşire:nogame.in, nogame.outSursăONIS 2015 Runda Finala
AutorMihai CalanceaAdăugată deONIS2015ONIS2015 ONIS2015
Timp execuţie pe test7 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

NoGameNoLife

Inainte ca Sora si cu Shiro sa poata sa il provoace pe zeul Tet la duel, cei doi trebuie mai intai sa cucereasca cele 16 rase. Din fericire, Sora a reusit sa intre intr-un joc in care poate cuceri toate cele 16 rase simultan. Fiecare din cele 16 rase are la dispozitie cate o operatie binara diferita. Stim ca daca folosim operatii binare efectuam calcule doar intre valori de 0 si 1. O operatie binara este definita de multimea valorilor intre oricare 2 elemente. Mai exact. sa zicem ca notam operatia binara cu @ . Operatia binara poate sa fie apicata in 4 cazuri: intre 0 si 0; intre 0 si 1; intre 1 si 0; si intre 1 si 1. In functie de natura operatiei binare, fiecare calcul are ca rezultat 0 sau 1. In total avem 2 * 2 * 2 * 2 = fix 16 astfel de operatii (opeatiile xor, and si or sunt 3 operatii foarte cunoscute si sunt 3 din cele 16 astfel de operatii).

Sora are la dispozitie 16 vectori de elemente de lungime N. Acestia au fost formati in felul urmator: Initial exista un vector de lungime N (sa il notam cu A). Fiecare din cele 16 rase si-a aplicat operatia pe vectorul A in felul urmator: daca notam pentru o rasa operatia sa binara cu @ , vectorul rezultat va fi urmatorul: A[ 1 ]; A[ 1 ] @ A[ 2 ]; A[ 1 ] @ A[ 2 ] @ A[ 3 ]; ..... ; A[ 1 ] @ A[ 2 ] @ A[ 3 ] @ ... @ A[ i ]; ..... ; A[ 1 ] @ A[ 2 ] @ A[ 3 ] @ .... @ A[ N ]. Dupa efectuarea calculelor fiecare rasa si-a printat vectorul rezultat. Din pacate Sora are doar cei 16 vectori rezultati, dar nu are vectorul initial A si nu stie pentru niciun vector ce tip de operatie a fost aplicata asupra lui. Dandu-se un set de 16 vectori, treaba lui Sora este sa zica care este vectorul initial A, sau sa afiseze -1 daca nu exista un astfel de vector.

Date de intrare

Fişierul de intrare nogame.in va contine pe prima linie un numar natural T, numarul de teste. Pe prima linie a fiecarui set se va afla un numar natural N reprezentand lungimea vectorului. Urmatoarele 16 linii contin cate N numere reprezentand cei 16 vectori.

Date de ieşire

Fişierul de ieşire nogame.out va contine T linii, pe linia i aflandu-se raspunsul la testul i.

Restricţii

  • 1 ≤ T ≤ 1000
  • 1 ≤ N ≤ 1000
  • Toate valorile din fisier nu depasesc 1.000.000.000
  • Daca exista mai multe solutii se va afisa solutia minim lexicografica
  • Daca avem a @ b operatiile se fac pana la cel mai semnificativ bit al celor 2 numere. Mai exact, daca a = 5(101) si b = 3(11) operatia a @ b va fi aplicata doar pe ultimii 3 biti. Exista operatii in care 0 @ 0 = 1, ca urmare 3 @ 5 va da un rezultat pe 3 biti (daca se lucra pe mai multi biti, toti bitii de la al 4-lea ar fi devenit 1 deoarece si 3 si 5 au bitul 4 egal cu 0 si 0 @ 0 = 1).

Exemplu

nogame.innogame.out
1
5
7 7 7 7 7
7 0 7 0 8
7 4 3 2 10
7 8 0 30 1
7 0 0 0 0
7 12 11 30 23
7 11 7 25 14
7 8 7 24 7
7 3 3 1 0
7 15 15 31 31
7 4 0 0 0
7 3 7 1 8
7 15 15 31 31
7 7 7 7 15
7 12 8 30 23
7 11 3 29 10
7 12 8 30 23
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?