Diferente pentru problema/nogame intre reviziile #14 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. 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.
* $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 a 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$ = $0$ si $0 @ 0 = 1$).
* 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

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.