Van egy programozható motorcsónakunk. A jármű kétféle parancsra hallgat: a B hatására balra, a J hatására pedig jobbra fordul 90 fokot. A tavon a nyilat (🡅) tartalmazó mezőről indul a nyíl által meghatározott irányba. Folyamatosan halad előre, és az irányán csak bójához érkezéskor módosít. Teli bójánál (⚫) beolvas egy parancsot, és az annak megfelelő irányba fordul. Csillagos bójánál (✪) azonban a legutóbb végrehajtott parancsot hajtja végre újra. Ha hullámos mezőn (🌫) halad át, akkor pedig a következő bóját figyelmen kívül hagyja (üres mezőnek tekinti). A csónak csak akkor áll meg, ha teli bójához érkezett, és elfogytak a parancsok. Ha a tópartnak ütközik, akkor azonnal elsüllyed, amit természetesen nem szeretnénk.
A tavat alkotó mezőkre az oszlopok feletti betűkkel és a sorok melletti számokkal tudunk hivatkozni.
Lássunk egy példát!
A csónak a B4-es mezőről indul a nyíl irányába, és a JB kódot adtuk meg neki. Folyamatosan halad a B1-es mezőig, ahol beolvassa az első parancsot, és annak megfelelően jobbra fordul. A D1-es mezőhöz ér, ahol ismét jobbra fordul. Áthalad a D2-es mezőn, ezért a D4-es mezőn található bóját figyelmen kívül hagyja. A D5-ös mezőre érve beolvassa a második parancsot, amelynek hatására balra fordul. Az E5-ös mezőn pedig megáll, mert nincsen több parancs. |
A feladatok az alábbi pályára vonatkoznak.
Melyik mezőn áll meg a csónak a megadott kódok hatására?
Van egy teli bójánk (⚫). Melyik üres mezőre kell tenni ahhoz, hogy a BJJ kód hatására a csónak a megadott célmezőn álljon meg? Ha több megoldás is van, add meg az összeset, vesszővel elválasztva! (A nyilat és a hullámokat tartalmazó mezőkre nem tehető bója.)
|