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

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

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.