#3542
JocDeSah
RAU-Gigel se gândește la un joc cu piesele de șah. El desenează o tablă de șah sub forma unei matrici pătratice de latură N
și așează în fiecare dintre cele N x N
celule câte o piesă de șah. Se consideră că dispune de N X N
exemplare din fiecare piesă posibilă (regi, regine, ture, nebuni, cai, pioni), iar culoarea nu este relevantă. RAU-Gigel se întreabă care este numărul minim de căsuțe (celule) prin care trebuie să treacă un rege oarecare ca să ajungă la o regină oarecare. Regele se poate deplasa câte o celulă în patru direcții posibile: N, E, S, V.
Dar asta nu e tot. La începutul jocului, toți regii au 16
vieți. Atunci când RAU-Gigel mută un rege (oarecare) peste primul pion, acesta pierde o viață. Vestea bună este că, după aceea, regele respectiv poate lua oricâți pioni fără ca numărul său de vieți să fie afectat. Când ia un cal, regele pierde două vieți, dar după aceea poate lua, fără pierderi, oricâți cai. La fel se întâmplă și în cazul nebunilor, primul nebun îl costa patru vieți și, respectiv al turelor, care îl costă opt vieți.
RAU-Gigel dorește să afle ce rege să aleagă și pe ce traseu trebuie să meargă acesta către o regină oarecare, astfel încât la sfârșitul jocului să îi rămână cât mai multe vieți, iar traseul să fie cât mai scurt.
RAU-Coder 2020
#3541
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
. 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
.
RAU-Coder 2020