Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | operatie.in, operatie.out | Sursă | FMI No Stress 9 |
Autor | Ioan Alexandru Tifui | Adăugată de | FMI No Stress 9 •fminostress9 |
Timp execuţie pe test | 0.15 sec | Limită de memorie | 16384 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Operatie
Tică este un mare fan al operaţiilor pe biţi. într-o seară, pentru a scăpa de monotonie, acesta a luat un şir v de N numere naturale, strict mai mici decât 2_B_, pe baza căruia a construit o matrice w de N linii şi N coloane, după următoarea regulă:
w[i][j] = {
- w[i] ^ w[j] daca (i + j) 4 = 0
- w[i] & w[j] daca (i + j) 4 != 0 dar (i + j) par
- w[i] -> w[j] daca (i + j) impar
}
Prin '^' şi '&' se înţeleg operaţiile de XOR pe biţi şi respectiv de AND pe biţi.
Prin x -> y inţelegem urmăroarea operaţie:
- se consideră reprezentările binare ale lui x şi y pe B de biţi
- se efectuează implicaţia logica bit cu bit
- rezultatul se converteşte înapoi în baza 10
Implicaţia logică acţionează după regula:
- 0 -> 0 = 1
- 0 -> 1 = 1
- 1 -> 0 = 0
- 1 -> 1 = 1
De exemplu, dacă B = 2 atunci 3 -> 1 = 1.
A doua zi, Tică îi arată foaia pe care este descrisă matricea w prietenului său Ionel şi îl provoaca pe acesta să ghicească şirul de numere iniţial. Totuşi există posibilitatea ca matricea pe care Tică i-o înmânează lui Ionel să nu poată fi soluţie pentru niciun şir de numere ce respectă proprietăţile de mai sus.
Cunoscând numerele N şi B, precum şi matricea w, scieţi un program care să îl ajute pe Ionel să determine o posibilă soluţie pentru şirul v sau să specifice dacă o astfel de soluţie nu există.
h2. Date de intrare
Fişierul de intrare operatie.in ...
Date de ieşire
În fişierul de ieşire operatie.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
operatie.in | operatie.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...