1 / 28

Vysvetlenia riešení problémov

Vysvetlenia riešení problémov. Heslá Peter Fillo. Heslá Peter Fillo. Pohľad na mesto Peter Lacko. Alergické červíky Matúš Horváth. Zvláštna abeceda Peter Trebatický. Simulácia robotov Martin Kvasnička. … … 265413 265431 312456 312465 312546 … …. Heslá: vysvetlenie na príklade.

dinesh
Download Presentation

Vysvetlenia riešení problémov

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vysvetlenia riešení problémov

  2. Heslá • Peter Fillo • Heslá • Peter Fillo • Pohľad na mesto • Peter Lacko • Alergické červíky • Matúš Horváth • Zvláštna abeceda • Peter Trebatický • Simulácia robotov • Martin Kvasnička

  3. … … 265413 265431 312456 312465 312546 … … Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 324156 • n = 6 (počet cifier) • k = 3 (prvá cifra je: 3) => prvá permutácia začínajúca číslom 3 bude 312456

  4. 123456 123465 : : : : : : 165432 213456 213465 : : : : : : 265431 312456 312465 … … Permutácie začínajúce jednotkou Počet permutácií pred 312456: 2*5!=240 Permutácie začínajúce dvojkou k-1*(n-1)! n=6, k=3 Heslá: vysvetlenie na príklade • poradové číslo permutácie 312456: (3 - 1)*5! Počet permutácií začínajúcich dvojkou bude: 5!

  5. chýba číslo 3 => => nie permutácia pre n = 5 24156 23145 Heslá: vysvetlenie na príklade • poradové číslo permutácie (ČP) 324156 bude väčšie ako ČP 312456 (=> väčšie ako 240) • zostáva zistiť: • poradie čísla 24156 • z 24156 urobíme permutáciu pre n = 5, nahradením číslic: • celý postup zopakujeme pre permutáciu 23145

  6. Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 23145 • n = 5 (počet cifier) • k = 2 (prvá cifra je: 2) použijeme vzorec: (k-1)*(n-1)! = (2 - 1)*(5 - 1)! = 1*4! = 24 zostane číslo: 3145 - upravíme na: 2134

  7. Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 2134 • n = 4 (počet cifier) • k = 2 (prvá cifra je: 2) použijeme vzorec: (k-1)*(n-1)! = (2 - 1)*(4 - 1)! = 1*3! = 6 zostane číslo: 134 - upravíme na: 123

  8. Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 123 • n = 3 (počet cifier) • k = 1 (prvá cifra je: 1) použijeme vzorec: (k-1)*(n-1)! = (1 - 1)*(3 - 1)! = 0*2! = 0 zostane číslo: 23 - upravíme na: 12

  9. Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 12 • n = 2 (počet cifier) • k = 1 (prvá cifra je: 1) použijeme vzorec: (k-1)*(n-1)! = (1 - 1)*(2 - 1)! = 0*1! = 0 zostane číslo: 2 - upravíme na: 1

  10. Heslá: vysvetlenie na príklade Zisti poradové číslo permutácie: 1 poradové číslo permutácie 1 pre n = 1 je: 1 Poradové číslo permutácie: 324156 240 + 24 + 6 + 0 + 0 + 1 = 271

  11. Heslá • Peter Fillo • Pohľad na mesto • Peter Lacko • Pohľad na mesto • Peter Lacko • Alergické červíky • Matúš Horváth • Zvláštna abeceda • Peter Trebatický • Simulácia robotov • Martin Kvasnička

  12. Vstup: 2 5 6 3 10 5 4 8 7 1 2 3 4 5 6 7 8 9 10 11 12 ... 0 0 0 0 0 0 0 0 0 0 0 0 0 Pohľad na mesto: vysvetlenie na príklade Rozmery mesta umožňujú vytvoriť pole, do ktorého môžeme zaznačiť maximálne výšky budov

  13. 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10 11 11 11 12 12 12 ... ... ... 0 0 0 5 5 5 10 5 10 10 5 10 10 10 5 5 8 5 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Pohľad na mesto: vysvetlenie na príklade Pri načítavaní budov ukladáme do poľa maximálne výšky budov. Vstup:(2 5 6), (3 10 5), (4 8 7)

  14. 1 2 3 4 5 6 7 8 9 10 11 12 ... 0 5 10 10 10 8 8 0 0 0 0 0 0 Pohľad na mesto: vysvetlenie na príklade Nakoniec vypíšeme údaje, ktoré sú v poli. Výstup: 2 5 3 10 5 8 7 0

  15. Heslá • Peter Fillo • Pohľad na mesto • Peter Lacko • Alergické červíky • Matúš Horváth • Alergické červíky • Matúš Horváth • Zvláštna abeceda • Peter Trebatický • Simulácia robotov • Martin Kvasnička

  16. Alergické červíky: vysvetlenie • backtracking • rekurzívne prehľadanie všetkých možných ciest • rekurzívna funkcia hladaj(a, b) • vráti dĺžku najdlhšej cestu z bodu (a, b) • pole označujúce hodnoty, na ktoré je červík už alergický

  17. Alergické červíky : vysvetlenie int hladaj(int a, int b){ if(<a, b> je mimo pola) return 0; if(alergia[pole[a][b]] == 1) return 0; alergia[pole[a][b]] = 1; max = maximum( hladaj(a - 1, b),hladaj(a + 1, b), hladaj(a, b – 1), hladaj(a, b + 1)); alergia[pole[a][b]] = 0; return max + 1; }

  18. Heslá • Peter Fillo • Pohľad na mesto • Peter Lacko • Alergické červíky • Matúš Horváth • Zvláštna abeceda • Peter Trebatický • Zvláštna abeceda • Peter Trebatický • Simulácia robotov • Martin Kvasnička

  19. Zvláštna abeceda: riešenie problému • Porovnať každé dve po sebe idúce slová • Prvé rozdielne písmeno • Písmeno z prvého slova je pred písmenom z druhého slova • Vytvoriť orientovaný graf • Vrcholy sú písmená • A je pred B • Rušiť vrcholy, do ktorých nevedie hrana A B

  20. Zvláštna abeceda: príklad – zadanie • Slovník • XWYZXZXYZXWZWYXYZXYXYW

  21. Zvláštna abeceda: príklad – zostrojenie grafu • Slovník • XWYZXZXYZXWZWYXYZXYXYW • Slovník • XWYZXZXYZXWZWYXYZXYXYW • Slovník • XWYZXZXYZXWZWYXYZXYXYW • Slovník • XWYZXZXYZXWZWYXYZXYXYW • Slovník • XWYZXZXYZXWZWYXYZXYXYW • Slovník • XWYZXZXYZXWZWYXYZXYXYW X Z W Y

  22. X Z Z W Y W Y W Y W Zvláštna abeceda: príklad – rušenie vrcholov • Výstup • XZY • Výstup • XZ • Výstup • X • Výstup • Výstup • XZYW X Z Y

  23. Heslá • Peter Fillo • Pohľad na mesto • Peter Lacko • Alergické červíky • Matúš Horváth • Zvláštna abeceda • Peter Trebatický • Simulácia robotov • Martin Kvasnička • Simulácia robotov • Martin Kvasnička

  24. Simulácia robotov: spôsoby riešenia • podľa alokácie poľa • staticky • dynamicky • podľa veľkosti poľa • pole n×m→ veľa pamäte • 4 polia 1×n

  25. Simulácia robotov: štruktúra programu while (mám príkazy AND ešte som sa nestratil) zisti príkaz (case – P, L, V) case smer (príkaz V) • 0 (sever) • 1 (východ) • 2 (juh) • 3 (západ)

  26. Sever = 0 Západ = 3 Východ = 1 Juh = 2 Simulácia robotov: pohyb doľava a doprava • L → if (smer = 0) then smer = 3 else smer = smer -1 → smer = (smer + 3) mod 4 • P → if (smer = 3) then smer = 0 else smer = smer +1 → smer = (smer + 1) mod 4

  27. Simulácia robotov: pohyb dopredu • premenná indikujúca stratenie robota (Stratil) • 4 polia typu boolean (int) • poleS • poleV • poleJ • poleZ • prvok v poli je true, ak sa na ňom robot stratil (daným smerom) • horné hranice mapy – maxx, maxy

  28. Ďakujeme za pozornosť

More Related