Na poslednej skuske bolo nasledujuce zadanie velkeho prikladu:
Burza:
Dostanete vstupny subor v ktorom je popis ako sa obchodovalo minuly rok. Ulohou je zarobit co najviac.
Vstup: kazdy riadok vstupneho suboru obsahuje nasledovne udaje (mozte predpokladat ze su oddelene medzerou)
datum kedy sa obchodovalo
nazov CP (Cenny Papier) ..... string[50]
cena za 1ks, za ktoru sa predava resp. kupuje .... min. 0.01 az 43.000
maximalny pocet ktory sa da kupit
maximalne kolko je mozne predat
Vystup: ma byt do suboru a mam obsahovat informacie o tom kedy mam kupit akciu a kedy ju mam predat (samozrejme aj kolko)
datum
meno CP
prikaz "kup/predaj" (podla toho co sa ma vykonat)
Obedzenia:
k dispozicii mate iba 16 MB RAM, miesto na diksu je 1GB
Pozor ulohou nebolo najst priblizne riesenie ale najlepsie mozne zo vsetkych. Teda ak by ste prisli s tym ze ste pouzili BACKTRACK s nejakou heuristikou moc dobre by ste nepochodili.
Ako sa to malo teda riesit?
pomoucka => dynamicke programovanie, ak poznate ulohu z 2 parnikmi tak doktor Holan povedal ze je to v podstate ta ista uloha.
Maly priklad klasika.