Nejlevnější vaření

Pavel Töpfer

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.

Full Text: PDF




© PROMETHEUS, spol. s r. o.
 
Licence Creative Commons

Obsah časopisu podléhá licenci Creative Commons Uveďte autora 3.0 Česko