Letní soustředění programátorů 2011
Janské Lázně, ŠvP Duncan
Zadání úložek
- mj0: výměna
- Vymyslete, jak vyměnit hodnoty ve dvojici proměnných bez použití třetí.
- mj1: mergesort
- Implementujte mergesort.
- mj2: Lloydova 8
- Implementujte.
- mj3: Mosty
- Vymyslete algoritmus na hledání mostů v grafu
- mj4: Směnárna
- Je zadaná matice převodů mezi měnami, vymyslete algoritmus, který zbohatne.
- mq1: Hledání cyklů
- Nalezněte v zadaném grafu libovolný cyklus
- mq2: Záporný Dijkstra
- Určete, co se stane, když je v grafu procházeném Dijkstrou záporná hrana.
- mj5: Zkracování
- Dokažte, že pokud bezeztrátový kompresní algoritmus nějaký vstup
zkrátí, tak jiný musí nutně prodloužit.
- mq3: AVL
- Implementujte AVL strom s operacemi Find, Insert a Delete.
- mq4: hešovací funkce
- Implementujte hešovací funkci.
- mj6: Prefix
- Navrhněte prefixový kód, kterým zakódujete všechna přirozená čísla … co nejefektivněji.
- mq5: Transpozice
- Implementujte nejkratší program, který ztransponuje vstupní soubor.
To znamená, že z řádků udělá sloupce. Příliš krátké řádky doplňte mezerami.
Program dlouhý 264 bajtů dostane 4 body, program kratší dostane víc, program delší dostane míň.
- mj7: KMP
- Implementujete KMP.
- mq6: Trojice
- Házíme mincí panna-orel. Když padne trojice XYZ, skončíme; když
padne ABC, skončíme (mezi ABCXYZ a PO nějaké mapování). Nalezněte XYZ a
ABC takové, že mají různou pravděpodobnost hození.