Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | switch.in, switch.out | Sursă | Infoarena Monthly 2012, Runda 8 |
Autor | Mihai Calancea | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 5120 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Switch
Marian strikes again! De data aceasta, eroul nostru are la dispozitie doua matrici binare (fiecare element al matricei este fie 0, fie 1), de dimensiuni 2×2 (doua linii si doua coloane) si vrea sa transforme prima matrice in cea de-a doua. Pentru aceasta, el efectueaza o serie de operatii doar asupra primei matrice. O operatie consta in: Marian isi alege o linie sau o coloana sau una dintre cele doua diagonale ale matricei si neaga elementele corespunzatoare (din 0 le transforma in 1, iar din 1 in 0).
Determinati daca Marian poate transforma prima matrice, efectuand in mod inteligent operatiile permise, in cea de-a doua matrice.
Date de intrare
Fişierul de intrare switch.in contine 4 linii, pe fiecare linie aflandu-se exact 2 numere (numerele vor fi 0 sau 1), separate prin cate un spatiu. Primele 2 linii caracterizeaza prima matrice, iar urmatoarele 2 cea de-a doua matrice.
Date de ieşire
În fişierul de ieşire switch.out se va gasi pe prima linie textul "DA" (fara ghilimele), in caz ca prima matrice poate fi transformata in a doua, sau textul "NU" (fara ghilimele) in caz contrar.
Restricţii
- Operatiile pot fi efectuate in orice ordine si de oricate ori.
Exemplu
switch.in | switch.out |
---|---|
0 1 1 0 0 0 0 0 | DA |
1 0 1 1 0 1 0 0 | DA |
1 1 1 0 0 0 1 1 | NU |
Explicaţie
In cazul primului exemplu, Marian alege diagonala secundara si ii neaga elementele, obtinand astfel cea de-a doua matrice.
In cel de-al doilea exemplu, Marian neaga prima coloana, apoi pe cea de-a doua.
Pentru exemplul 3 nu exista niciun set de operatii care sa transforme prime matrice in cea de-a doua.