Autorské riešenie
Poschodie z čísla bytu vieme určiť, ak číslo bytu predelíme osmičkou bez zvyšku. Následne vynásobíme toto číslo dvoma a vieme výšku poschodia. Pomocou podmienok rozhodneme aké auto sa pri zásahu použije podľa dĺžky jeho rebríka. def vyberAuto(cisloBytu): '''Vyberie ktoré auto sa pojde na hasicsky zasah. :param cisloBytu: číslo horiaceho bytu :type cisloBytu: int :return: dlzka rebrika :rtype: string ''' vyskaPoschodia = 2 poschodie = cisloBytu // 8 vyska_poschodia = vyskaPoschodia * poschodie if vyska_poschodia <= 7: return 7 if vyska_poschodia <= 13: return 13 return 21
Čo sa týka určenia svetovej strany, potrebujeme číslo bytu zmenšiť o jedna. Následne zistiť zvyšok po delení ôsmimi. Toto číslo potom bez zvyšku vydeliť dvojkou a už len vypísať prvok na indexe poľa svetových strán. def stranaDomu(cisloBytu): '''Urci svetovu stranu domu, kde hori byt. :param cisloBytu: číslo horiaceho bytu :type cisloBytu: int :return: vracia svetovú stranu bytového domu ku ktorej má prísť auto :rtype: string ''' svetoveStrany = ['Sever', 'Východ', 'Juh', 'Západ'] cisloBytu -= 1 cisloBytu %= 8 cisloBytu //= 2 return svetoveStrany[cisloBytu] Imagine Logo
viem vyberAuto :cisloBytu urobTu "poschodie cPodiel :cisloBytu 8 urobTu "vyskaPoschodia 2 urobTu "vypocet :vyskaPoschodia * :poschodie ak :vypocet <= 7[ vysledok 7 ] ak :vypocet <= 13[ vysledok 13 ] ak :vypocet > 13[ vysledok 21 ] viem stranaDomu :cisloBytu urobTu "svetoveStrany [Sever Vychod Juh Zapad] urobTu "cisloBytu :cisloBytu - 1 urobTu "cisloBytu zvysok :cisloBytu 8 urobTu "cisloBytu cPodiel :cisloBytu 2 urobTu :cisloBytu + 1 prvok :cisloBytu :svetoveStrany Zhrnutie riešení úlohy Túto úlohu riešili 4 tímy. Dva z nich ju zvládli na plný počet, jeden tím na polovičný počet bodov a jeden tím úlohu nezvládol. Riešenia boli riešené podobným štýlom ako autorské riešenie a dokonca jedno z nich bolo vypracované jednoduchšie. Riešenie tejto úlohy spočívalo na uvedomení si dvoch základných myšlienok a na tieto myšlienky sa podarilo prísť trom tímom. Podľa toho, že úlohu riešil iba zlomok súťažiacich usudzujem, že sa zadanie úlohy mohlo zdať zložité, ale riešitelia nakoniec získali až 68% bodov. |
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |