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

 

Fişierul intrare/ieşire:pixeli.in, pixeli.outSursăRAUCoder 2020
AutorDaniela Alexandra CrisanAdăugată deRAUCoderDaniela Alexandra Crisan RAUCoder
Timp execuţie pe test0.025 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Pixeli

RAU-Gigel este pasionat de grafică, aşa că se gândeşte la un joc cu imagini. El creează într-un editor grafic o imagine bitmap binară de dimensiuni N X N pixeli. O imagine bitmap binară este o matrice de pixeli, fiecare pixel fiind un bit. Să considerăm că valoarea 0 (nesetat) înseamnă alb şi valoarea 1 (setat) înseamnă negru (în realitate este exact invers!). Apoi RAU-Gigel împarte imaginea în patru imagini pătrate egale de latură N / 2 pe care le notează de la 1 la 4 (1 este imaginea din colţul dreapta-sus, 2 este cea din colţul dreapta-jos, 3 stânga-jos şi 4 stânga-sus). El repetă procedeul pentru fiecare dintre cele 4 imagini obţinute, şi tot aşa, reducând mereu latura la jumătate şi notând direcţiile de la 1 la 4, până când ajunge la imagini de mărimea unui pixel.

Pentru simplitate, să presupunem că N este o putere a lui 2, să spunem K. Deci, după K împărţiri succesive de imagini, orice pixel poate fi identificat printr-un şir unic format din cifrele 1, 2, 3 şi 4, de lungime K.

De exemplu, dacă N = 4, atunci K = 2. Imaginea iniţială are 16 pixeli. Vom avea 2 împărţiri succesive:

După prima împărţire rezultă 4 imagini reduse la jumătate (fiecare are câte 4 pixeli):
4 1
3 2

După a doua împărţire rezultă 16@ imagini de câte @1 pixel:
44@ @41 \(\quad\) 14@ @11
43@ @42 \(\quad\) 13@ @12

34@ @31 \(\quad\) 24@ @21
33@ @32 \(\quad\) 23@ @22

Iniţial, imaginea este complet albă.

Acum începe jocul. RAU-Gigel se gândeşte la @2@ tipuri de operaţii:
Operaţia 1 x schimbă starea pixelul identificat cu şirul x@, descris ca mai sus. Dacă pixelul @x nu este setat, îl setează. Dacă pixelul @x@ este deja setat, atunci îl resetează.
Operaţia 2 x , unde x@ are aceeaşi semnificaţie ca mai sus, este o interogare: dacă @x este setat, se răspunde cu 0@. Dacă @x nu este setat, se cere determinarea dimensiunii celei mai mari imagini complet albe, dintre cele create de RAU-Gigel, care conţine pixelul @x@. Dimensiunea este dată de numărul de pixeli conţinut.

Dându-se N@ cu semnificaţia de mai sus şi @M, reprezentând numărul de operaţii şi cele M@ operaţii de tipul @1 şi 2@, să se răspundă la operaţiile de tip @2.

Date de intrare

Date de intrare

Fişierul de intrare pixeli.in ...

Date de ieşire

În fişierul de ieşire pixeli.out ...

Restricţii

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

Exemplu

pixeli.inpixeli.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?