Zadanie

Kuchárka vyryla do kocky cukru dierky a spravila si z nej tak hraciu kocku. Potom sa ju snažila pootáčať, aby vyzerala pekne. Kocka vyzerá pekne, keď má na vrchu šestku a na jej prednej strane (otočenej ku kuchárke) je štvorka. Kuchárka môže otáčať kockou okolo všetkých hlavných osí okrem vertikálnej (pozri obrázok), a to vždy len o \(90^\circ\). Koľko najmenej otočení potrebuje, aby vedela s určitosťou, že kocka bude vyzerať pekne, nech je na začiatku otočená ľubovoľne?

Našou úlohou je prísť na najmenší počet otočení kocky (dovolené otočenia sú okolo osí \(x\) a \(y\)) takých, že ich výsledkom pri ľubovoľnej východzej pozícii, je kocka, ktorá má na vrchnej strane číslo \(6\) a na prednej strane číslo \(4\).

Prvá vec, ktorú je dobré si uvedomiť, je, že na hracej kocke spolu susedia čísla \(4\) a \(6\) hranou. Z toho vyplýva, že máme \(6\cdot4=24\) možností, ako kocka mohla vyzerať na začiatku. Totiž prvé číslo môžeme uložiť na kocku ľubovoľne, druhé už musí byť vedľa neho cez spoločnú hranu, teda už máme na druhé číslo iba \(4\) možnosti.

Jedna cesta, ako vyriešiť úlohu, by bola preskúmať všetkých týchto \(24\) možností a vybrať zo všetkých počtov otočení ten najväčší. My si tu však ukážeme trochu menej pracné riešenie.

Poďme najprv uvažovať o posúvaní čísla \(4\). Ak je na začiatku \(4\) na prednej strane, nepotrebujeme už toto číslo presúvať ďalej. Ak by bola na vrchnej či spodnej strane, stačí nám jedno otočenie okolo osi \(x\) smerom nahor/nadol a už je \(4\) na svojom mieste. Ak by bola na niektorej z bočných stien, najprv ju jedným otočením okolo osi y dostaneme na vrchnú/spodnú a potom ju pretočíme okolo osi \(x\) na jej právoplatné miesto vpredu. Ak by bola na zadnej strane, dvomi otočeniami okolo osi \(x\) ju dostaneme dopredu. Teda najviac na \(2\) otočenia dopravíme \(4\) na správne miesto.

Keď sme si prešli možnosti pre \(4\), poďme sa pozrieť aj na číslo \(6\). To chceme dostať na vrch našej kocky. Ak je na vrchu hneď na začiatku, vyhrali sme. Ak je na prednej či zadnej strane, dostaneme ju tam jedným otočením okolo osi \(x\). Pre prípady, že je na bočných stenách, je to rovnaké, avšak otáčame okolo osi y. Ak by bola naspodu, treba nám dve otočenia okolo niektorej z osí, aby bola navrchu. Teda aj pre \(6\) máme najviac \(2\) možnosti. Z toho nám vyplýva, že v najhoršom prípade kocku dostaneme do požadovanej polohy \(2\cdot2=4\) pohybmi .

Teraz ešte treba nájsť rozloženie, pre ktoré sa to na menej ako \(4\) pohyby urobiť nedá. Až vtedy bude dôkaz, že nami hľadané číslo je \(4\), ukončený. Takéto rozloženie je také, kedy je \(6\) vpredu a \(4\) na vrchu kocky. Vtedy nám menej ako \(4\) otočenia nikdy nebudú stačiť.

Odpoveď je teda, že našu sladučkú kocku vieme dostať z ľubovoľnej východzej pozície do peknej pozície štyrmi otočeniami.

Diskusia

Tu môžte voľne diskutovať o riešení, deliť sa o svoje kusy kódu a podobne.

Pre pridávanie komentárov sa musíš prihlásiť.