Pokladnička

Na tejto stránke si môžeš vyskúšať svoje programy pre Pokladničku – netradičný model, s ktorým sa budeme stretať v kategórii A v 39. ročníku Olympiády v informatike.

Interpreter, ktorý táto stránka používa, si môžeš aj stiahnuť a spustiť na svojom počítači. Viac info o ňom nájdeš na spodku tejto stránky.


obmedzenia:
# príklad obmedzení

zelena <= 5
zelena + 13 fialova <= 12
inštrukcie:
# príklad inštrukcií

cervena -> zelena
5 zelena -> modra
siva, 3 hneda ->
-> fialova
začiatočný obsah pokladničky:
15 cervena, 1 zlta
detaily vykonávania:
Vypíš detaily vykonávania programu. (S detailmi simuluje 200 krokov, bez nich 10 000.)

Tu sú stručné inštrukcie, ako správne zadať program:

Ako zadať farbu:
Popis farby má buď tvar "meno_farby" alebo tvar "počet_kusov meno_farby", pričom medzi počtom a menom musí byť nejaký whitespace. Počet, ak tam je, musí byť kladné celé číslo neprevyšujúce 109. Meno farby môže byť takmer ľubovoľný neprázdny reťazec neobsahujúci whitespace, odporúčame používať anglické písmenká.

Ako zadať (multi)množinu:
Množina sa skladá z nula alebo viac popisov farieb. Ak ich je nula, je to prázdny reťazec, ak je jedna, vyzerá ako popis farby. Ak je farieb viac, musia byť od seba oddelené oddeľovačom. Ako oddeľovač je povolené použiť buď "+" (plus) alebo "," (čiarku). V celom popise množiny musí byť všade ten istý oddeľovač. Nemusí okolo neho byť whitespace. (Áno, ak chcete, môžete používať čiarky aj v obmedzeniach alebo plusy aj v inštrukciách.)

Ako zadať obmedzenie:
Na lineárny výraz na ľavej strane obmedzenia sa tiež môžeme dívať ako na multimnožinu farieb. Obmedzenie teda budeme zadávať v tvare "množina_na_ľavej_strane <= limit". Okolo "<=" nemusí byť žiadny whitespace. Každé obmedzenie treba uviesť v jednom samostatnom riadku.

Ako zadať inštrukciu:
Inštrukcia má tvar "množina_na_ľavej_strane -> množina_na_pravej_strane". Okolo "->" nemusí byť žiadny whitespace. Každú inštrukciu treba uviesť v jednom samostatnom riadku.

Ako zadať komentár:
Riadky začínajúce "#" sú komentár, interpreter ich ignoruje.


Ak si chceš programy pre Pokladničku vedieť spúšťať aj na svojom počítači, môžeš si interpreter, ktorý aj táto stránka používa, od nás stiahnuť. Na jeho spustenie budeš potrebovať Python 3. Môžeš si stiahnuť verziu pre Windows alebo verziu pre Linux. (Líšia sa len koncami riadkov v súboroch.)