Fişierul intrare/ieşire: | imagine.in, imagine.out | Sursă | Summer Challenge 2007, runda 1 |
Autor | Din Folclor | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Imagine
O imagine este prezentata sub forma unei matrici de dimensiuni 2k*2k in care fiecare element al matricii este fie alb fie negru. Deoarece dimensiunile matricii pot fi foarte mari se foloseste urmatoarea codificare a imaginii:
- o imagine complet alba are asociat codul a
- o imagine complet neagra are asociat codul n
- orice alt fel de imagine are asociat codul (q1q2q3q4) unde q1, q2, q3 si q4 sunt codurile asociate celor patru cadrane ale imaginii:
q1 | q2 |
q3 | q4 |
Asupra unei imaginii se pot efectua urmatoarele operatii:
- S - rotatie in sens trigonometric
- D - rotatie in sens invers trigonometric
- O - simetrie fata de axa orizontala
- V - simetrie fata de axa verticala
- I - inversarea culorilor
Cerinta
Dandu-se codul unei imaginii si o succesiune de operatii se cere sa determinati codul imaginii in urma operatiilor respective.
Date de intrare
Fisierul de intrare imagine.in contine pe prima linie codul imaginii, iar pe a doua linie o succesiune de operatii.
Date de iesire
Fisierul de iesire imagine.out contine o singura linie pe care se afla codul imaginii obtinute in urma operatiilor efectuate.
Restrictii
- 1 ≤ lungimea codului imaginii ≤ 10.000.000
- 0 ≤ numarul operatiilor ≤ 10.000.000
Exemplu
imagine.in | imagine.out |
---|---|
(n(anna)a(naan)) DOI | ((anna)(naan)na) |
Explicatie
Imaginea initiala si imaginile in urma fiecarei operatii.