Zk 13.3.

Isidor at 2006-03-13 14:58:44

Prolog:

  1. dany zoznam cisel, vytvorte z neho zoznam trojic [x, najmensie cislo pred x, najvacsie cislo za x] (pre prve a posledne cislo sme si mohli dodefinovat)

  2. dany n-arny strom a cislo k, vytvorte zoznam listov, do ktorych sa da dostat z korena tak, aby sucet poradi synov (lokalne od 0) na ceste bol k (kto to z tohto pochopi, ma u mna pivo :lol:)

Haskell:

  1. type Poloha a = Top a | Bottom a | Other a

  • Nadefinujte bin. strom Tree a s hodnotami vo vnutornych uzloch

  • napiste funkciu pruchod :: (Tree a -> Bool) -> Tree a -> [Poloha( Tree a )], ktora pre dany strom vrati zoznam jeho podstromov, ktore splnuju podmienku (Tree a -> Bool) a budu oznacene Top, ak nie su podstromom ineho podstromu v zozname, Bottom ak nemaju taky podstrom a Other inak.

  1. Dany orientovany graf, vytvorte zoznam dvojic vrcholov, ktore medzi sebou nemaju cestu ani v jednom smere (alebo tak nejak...)

Velky:

Disk ma rozsah [0..a], dane je cislo p (vo vyzname percent) a zoznam dvojic (i,j), kde kazdy diskovy blok od i po j je volny, zvysny priestor na disku je obsadeny. Vytvorte ("efektivne") zoznam vsetkych suvislych oblasti na disku, ktore sa skladaju z celych blokov (volnych a/alebo obsadenych), obsahuju viac ako p percent volnych miest (vzhladom k svojej velkosti, nie celeho disku) a nedaju sa rozsirit o susedny blok tak, aby ostali zachovane podmienky.

LuKu at 2006-03-13 15:31:32

Moh byste nekdo nastinit reseni toho velkeho prikladu? Ja ho bohuzel na zkousce nezdolala:-(

gofry at 2006-03-13 16:28:15

Ak to este niekto stihne, tak sem skuste napisat riesenie 4. prikladu, najlepsie do 17:05, ked treba ist na ustnu ;)

jaruch at 2006-03-13 18:22:32

no Izi, dik za pivo... :D
ten priklad som mal na skuske a Hric mal namietky len voci efektivite...

Isidor at 2006-03-13 20:06:32

LuKu wrote:Moh byste nekdo nastinit reseni toho velkeho prikladu? Ja ho bohuzel na zkousce nezdolala:-(

No, tak ja som tam mal dve rekurzie, jedna postupne vyberala zaciatky volnych usekov a druha konce; ak zvolena oblast vyhovovala podmienke a nedala sa rozsirit, pridala sa do zoznamu... plus tam boli take finticky ako pridat si na zaciatok a na koniec volny blok o dlzke 0 (tzn. (0,0) a (a,a)), aby to behalo poriadne. Hric mi k tomu vytkol, ze niektore useky mi to vrati, aj ked sa daju rozsirit (dolava!), takze by bolo dobre spravit nejaky postprocessing, kde by sa toto checkovalo a prip. vyhadzovalo...