Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2020-03-06 18:51:13.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:operatie.in, operatie.outSursăFMI No Stress 9
AutorIoan Alexandru TifuiAdăugată defminostress9FMI No Stress 9 fminostress9
Timp execuţie pe test0.15 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/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] dacă (i + j) 4 = 0

•••• w[i] & w[j] dacă (i + j)
4 = 2
•••• w[i] -> w[j] dacă (i + j) este 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ă.

Date de intrare

Fişierul de intrare operatie.in conţine pe prima linie numerele N şi B cu semnificaţia de mai sus.
Pe următoarele N linii se vor afla câte N numere naturale, reprezentând descrierea matricei w.

Date de ieşire

În fişierul de ieşire operatie.out se vor afla N numere separate prin câte un spaţiu, reprezentând o posibilă soluţie pentru vectorul v, în cazul în care aceasta exista.
Dacă o astfel de soluţie nu există, fişierul va conţine doar valoarea -1.

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

operatie.inoperatie.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?