Am urmatoarea problema:
http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=222. Am incercat sa o rezolv simuland miscarea bilei si am luat 70 de puncte. Apoi am luat solutia oficiala care zice:
In primul rand vom roti matricea care reprezinta configuratia initiala de 3 ori
si vom retine cele 4 configuratii posibile in tabloul tridimensional tabla.
Apoi vom determina pentru fiecare configuratie t (t=1,2,3,4), pentru fiecare element (i,j) al matricei care este pozitia
pe care s-ar opri bila ar fi plasata pe pozitia (i,j) (aceasta valoare o vom retine in tabloul jos[t,i,j]).
Aceste date fiind precalculate trebuie doar sa executam cele k rotatii.
La fiecare rotatie determinam:
- configuratia tablei dupa rotatie
- noua pozitie a bilei dupa rotatie.
Si am luat memory limit exceeded folosind pt precalculare o matrice de tipul:
struct {
short x, y;
} p[4][1001][1001];
Puteti sa imivdati un sfat micut, va rog?