Diferente pentru problema/nogame intre reviziile #19 si #6

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="nogame") ==
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).
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 cucerii 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.
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.
h2. 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.
Fişierul de intrare $nogame.in$ ...
h2. Date de ieşire
Fişierul de ieşire $nogame.out$ va contine $T$ linii, pe linia $i$ aflandu-se raspunsul la testul $i$.
În fişierul de ieşire $nogame.out$ ...
h2. 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$).
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. nogame.in |_. nogame.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
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
h3. Explicaţie
 
...
 
== include(page="template/taskfooter" task_id="nogame") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.