6.6. 2016 - Holan - Labyrint

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: 6.6. 2016 - Holan - Labyrint

Re: 6.6. 2016 - Holan - Labyrint

od hlupaco » 9. 6. 2016 20:52

Mám po ústním.
Algoritmus zase chtěl uplně snadně stavovym grafem, nelíbilo se mu že sem to trochu zamotal a našel mi protipříklad co mi ten muj postup rozbil :-(
Očividně na dovolený paměti tak přísně nebazíruje jako spíš aby ten alg byl správně, i na její úkor. Koneckonců ten graf byl maličkej.

Z teorie jsem dostal AVL stromy.
Vůbec ho nezajímaly důkazy toho kde je kolik minimálně a maximálně prvků.

Co chtěl byl invariant a základní myšlenka (ani se neptal jak z toho vyplývá např. že je hloubka logaritmická) a pak mi pořád přidával a ubíral prvky a nechal mě provádět algoritmus, tj určitě chce všechny operace - nechal mě udělat rotaci, i dvojitou, propagování změn, odstranění kořene, ...
Snadný, opravil jsem si tim známku z 3 na 2, žádná další otázka.
Má rád když se to hezky vysvětluje, ale to je asi všude stejný :-)

BTW: Pozor, zkouší prej i z technickejch věcí co nikdy nevysvětloval nebo uplně okrajově jako co je to statická X abstraktní X sealed třída... Ale tu informaci nemám od něj, jen šeptanda.

Re: 6.6. 2016 - Holan - Labyrint

od karab » 7. 6. 2016 10:32

Opakovalo se zadání a je zde i řešení:
http://forum.matfyz.info/viewtopic.php?f=247&t=6881

Jen paměť byla menší a jde to vymyslet i bez fronty.

6.6. 2016 - Holan - Labyrint

od hlupaco » 6. 6. 2016 18:14

Theseus, Minotaur a Ariadna v labyrintu, plus vtipné lore proč se snaží každý vyhnout každému :-)

V labyrintu je maximálně 100 místností, na vstupu jsou v podstatě hrany (seznam chodeb místnost - místnost), počáteční místnost a koncová místnost pro každou postavu zvlášť.

Každá postava projde za 1 minutu 1 chodbu, nebo se může rozhodnout minutu čekat.

To, že se nechtějí potkat zahrnuje, že se nechtěji ani vidět, tj nesmí se nacházet v jednu minutu ve dvou sousedních místnostech.

Úkol je zkrátka jen vrátit číslo jako nejnižší počet minut za který se mohou každý dostat do cíle se zachováním výše uvedených pravidel.

Paměť 512 kB.

Na ústní už asi nepůjdu protože jsem nedal zápočet ^^ Ale kdybych se tam ještě stavil, připíšu nějaké dojmy odtud.

Řešil jsem to BFS - nejkratší cesta, pak lokalizace prvního konfliktu co nastane, jeho vyřešení, nové BFS odtud a opět řešení prvního konfliktu pokud nějaký je, plus každé řešení konfliktu vyvolá až 3 faktoriál nových BFS větví, protože vždy zkusím dávat přednost postavám v jiném pořadí abych je vyzkoušel všechny. Zde se mi to rozdělí doufám nanejvýš 6krát (kromě případu kdy dva půjdou za sebou a narazí na třetího později, který je potřeba zvlášť ošetřit), a BFS na neohodnocených hranách je O(n) -> cca 600 kroků je pořád úplně cajk, pointa je že bude dost narůstat konstanta s tím ověřováním kdo kdy blokuje jakou místnost :-)

Na druhou stranu se každá postava s každou dostanou do konfliktu nanejvýš jednou, protože všechny chodby jsou obousměrné a projde nimi každý.

Vim že to řešení je silně krkolomný, pokud ste někdo udělal něco hezčího dejte vědět.

Nahoru