Nejlevnější vaření
Abstrakt
Článek ze série věnované úlohám Matematické olympiády – kategorie P (programování) diskutuje různé možnosti řešení jedné teoretické soutěžní úlohy z krajského kola konaného ve školním roce 2017/18. Úkolem je nalézt způsob, jak nejlevněji uvařit jídlo pomocí zadaného seznamu receptů. Jsou přitom dány vstupní ceny jednotlivých surovin a jídla uvařená podle jednotlivých receptů můžeme používat jako vstup pro další navazující recepty. Algoritmy řešící tuto úlohu jsou analogií známých grafových algoritmů pro určení nejkratších vzdáleností v ohodnoceném grafu: algoritmu Bellmanova-Fordova a Dijkstrova. Článek uvádí i stručný nástin těchto dvou grafových algoritmů. Kromě detailního rozboru úlohy najdeme v článku tři základní varianty řešení s různou časovou složitostí. Dvě z těchto řešení jsou zapsána i ve formě ukázkového programu.Stahování
Publikováno
Jak citovat
Číslo
Sekce
Licence
Autoři, kteří publikují v tomto časopise, souhlasí s následujícími body:
- Autoři si ponechávají copyright a garantují časopisu právo prvního publikování, přitom je práce zároveň licencována pod Creative Commons Attribution licencí, která umožňuje ostatním sdílet tuto práci s tím, že přiznají jejího autora a první publikování v tomto časopisu.
- Autoři mohou vstupovat do dalších samostatných smluvních dohod pro neexkluzivní šíření práce ve verzi, ve které byla publikována v časopise (například publikovat ji v knize), avšak s tím, že přiznají její první publikování v tomto časopisu.
Obsah časopisu podléhá licenci Creative Commons Uveďte autora 3.0 Česko