Zkouška 25. 5. 2014 (Dvořák, Hric)

Salmelu at 2015-05-25 16:57:21

První část:
1.

  • napište predikát rotace/2 na rotování seznamu. Nesmíte použít žádné pomocné predikáty. (V lineárním čase) (pouze 3 verze)

  • v konstantním čase, jakou potřebujete strukturu? Ukažte na [1,2,3]

  • napište rotace/2 (pouze 2 verze) v konstantním čase

  • máte ČUM ([a>-b, a>-c, ...]). Vypište všechny neporovnatelné dvojice (ve formě seznamu), tzn například [b-c, ...]

  • Máte XML strom

    data Tree a = T a [Tree a]

  • vypište ho

  • Máte Multiset, napsat instanci třídy Ord (m1 < m2 <==> existuje prvek v m2\m1, ktery je vetsi, nez vsechny prvky v m1\m2 - mnozinovy rozdil)

Druhá část:
Máte N truhel, N+1 klíčů, v každé truhle je právě jeden klíč, jeden máte na začátku.
Každý klíč má svou barvu a každá truhla má barvu, truhlu otevřete jen klíčem té samé barvy. Zároveň když použijete klíč, už ho nemůžete použít znovu (zůstane v zámku)?
Existuje posloupnost otvírání truhel tak, že otevřete všechny truhly? Pozn. máte to udělat polynomiálně

CiTrus at 2015-05-27 00:36:21

*25.5.2015