Charles Explorer logo
🇨🇿

Navlékání korálků

Publikace na Matematicko-fyzikální fakulta |
2019

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é praktické soutěžní úlohy. Úkolem je sestavit z posloupnosti různobarevných korálků co nejdelší náhrdelník, v němž jsou korálky uspořádány podle svého barevného odstínu. Každý korálek můžeme navléknout na šňůrku zleva nebo zprava, nebo ho také můžeme vynechat.

Algoritmus navazuje na velmi známou úlohu vybrat z dané posloupnosti čísel co nejdelší rostoucí podposloupnost, s níž se soutěžící seznámili ve školním kole. 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.