Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilBohuslav Kovář
1
Sample Solutions CTU Open Contest 2012 Czech Technical University in Prague
2
ANDREW THE ANT
3
Ants – úloha Mravenci už nejsou všichni stejní … a opravdová simulace je pomalá Co víme z včerejší cvičné úlohy? Kdy spadne mravenec na které straně Kolik spadne doleva a kolik doprava
4
Ants – myšlenka Základní pozorování: Mravenci se nikdy nemůžou „vyměnit“ Důsledek: Pokud spadne L mravenců doleva, je to těch L, kteří byli už na začátku nejvíc vlevo
5
Ants – řešení Tři mravenci spadnou doleva… … a jsou to první tři zleva
6
Ants – řešení => Jako poslední doleva spadne B … za 13 sekund A podobně doprava
7
SOFTWARE BUGS
8
Bugs Stejná úloha jako ve cvičném kole … … ale chceme efektivní řešení „Automat“ Předpočítat podle hledaného vzoru Na zásobník ukládat, jaké začátky byly nalezeny
9
Bugs – princip Ukládáme si „načaté kousky“ BBUBUBUGGGUG 12
10
Bugs – princip Ukládáme si „načaté kousky“ BBUBUBUGGGUG 1222
11
Bugs – možné komplikace Pozor na vzorky s částečným opakováním ABABAC ABABABABACAC 5
12
Bugs – možné komplikace Pozor na vzorky s částečným opakováním ABABAC ABABABABACAC 24
13
Bugs – možné komplikace Pozor na vzorky s částečným opakováním ABABAC ABABABABACAC 25
14
Bugs – možné komplikace Pozor na vzorky s částečným opakováním ABABAC ABABABABACAC 44
15
Bugs – tabulka Spočítáme, co dělat, když mám X znaků a přijde C Stačí v kvadratickém čase (1000 2 ) ABABABABACAC 25 5 B
16
CHARLIE THE COCKCHAFER
17
Cockchafer Nalezení nejkratší cesty => Dijkstrův algoritmus Záleží ale na tom, kudy přijdu Co je stav? („uzel“ při hledání) Začátek úsečky (uzel + natočení)
18
Cockchafer – postup
19
GREGORY THE GRASSHOPPER
20
Grasshopper Lze řešit analyticky Někdy se chová nevyzpytatelně Zejména pro malé šachovnice (2xN) => Prohledávání do šířky 100x100 polí
21
Grasshopper – průběh 0
22
11 0 11 11
23
12212 202 12212 1212 222 222
24
1232123 2303323 1232123 121323 3232323 2323233 3333
25
LISA THE LADYBUG
26
Ladybug – řešení Prohledávání stavového prostoru Stav zahrnuje Stav v automatu dle diagramu Operátor Hodnota na displeji / v paměti Lze i zvlášť (1000x1000) Nebo jen jedno (dle situace)
27
MOSQUITO MULTIPLICATION
28
Mosquito for (int i = 0; i < n; ++i) { int oldm = m; m = p/s; p = l/r; l = oldm * e; } Co k tomu dodat?
29
RHINOCEROS BEETLE
30
Rhinoceros Pracná, ale jinak celkem přímočará Zkoušení všech možností Doporučuji karty seřadit
31
SIMON THE SPIDER
32
Spider – princip Minimální kostra grafu … ale 1 hranu odečítáme Postupy, které nefungují Kostra a její nejdelší hranu odečíst Nejdelší hranu grafu doplnit na kostru
33
Spider – protipříklad 80 7 8 6 70 10 30 CENA = Kostra - 88
34
Spider – protipříklad 80 7 8 6 70 10 30 CENA = Kostra - 100
35
Spider – řešení Hledáme nejvyšší součet hrana mimo kostru + nejdelší hrana na příslušné (fundamentální) kružnici 80 7 8 6 70 10 30
36
Spider – řešení Zkoušet všechny hrany – moc pomalé Prohledávání do hloubky a zkoušet hrany do počátku !!!
37
Spider – dodatky Pozor na vícenásobné hrany Pro kostru beru nejkratší Dodatečnou pro změnu nejlepší Lze i nejkratší vyměnit za nejdelší mezi stejnými uzly
38
DOTAZY
39
Autoři úloh Josef Cibulka Jakub Černý Zdeněk Dvořák Martin Kačer Jan Stoklasa (a tradičně náměty od Radka Pelánka)
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.