vysvetlenia riešení problémov

28
Vysvetlenia riešení Vysvetlenia riešení problémov problémov

Upload: dinesh

Post on 07-Jan-2016

38 views

Category:

Documents


2 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Vysvetlenia riešení problémov

Vysvetlenia riešení Vysvetlenia riešení problémovproblémov

Page 2: Vysvetlenia riešení problémov

Alergické červíkyMatúš Horváth

HesláPeter Fillo

Pohľad na mestoPeter Lacko

Zvláštna abecedaPeter Trebatický

Simulácia robotovMartin Kvasnička

HesláPeter Fillo

Page 3: Vysvetlenia riešení problémov

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

… …265413265431

312456312465312546

… …

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 4: Vysvetlenia riešení problémov

poradové číslo permutácie 312456: (3 - 1)*5!

123456123465: : : : : :165432213456213465: : : : : :265431312456312465

… …

Permutácie začínajúce

jednotkou

Permutácie začínajúce

dvojkou

Počet permutácií začínajúcich dvojkou bude: 5!

Počet permutácií pred 312456: 2*5!=240

k-1*(n-1)!n=6, k=3

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 5: Vysvetlenia riešení problémov

poradové číslo permutácie (ČP) 324156 bude väčšie ako ČP 312456 (=> väčšie ako 240)

zostáva zistiť: poradie čísla 24156

chýba číslo 3 =>=> nie permutácia pre

n = 5

z 24156 urobíme permutáciu pre n = 5, nahradením číslic:

celý postup zopakujeme pre permutáciu 23145

24156

23145

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 6: Vysvetlenia riešení problémov

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

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 7: Vysvetlenia riešení problémov

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

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 8: Vysvetlenia riešení problémov

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

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 9: Vysvetlenia riešení problémov

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

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 10: Vysvetlenia riešení problémov

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

Heslá: vysvetlenie na príklade Heslá: vysvetlenie na príklade

Page 11: Vysvetlenia riešení problémov

Alergické červíkyMatúš Horváth

HesláPeter Fillo

Pohľad na mestoPeter Lacko

Zvláštna abecedaPeter Trebatický

Simulácia robotovMartin Kvasnička

Pohľad na mestoPeter Lacko

Page 12: Vysvetlenia riešení problémov

0000000000000

...121110987654321

Pohľad na mesto: vysvetlenie na príklade 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

Vstup:2 5 63 10 54 8 7

Page 13: Vysvetlenia riešení problémov

0000000555550

...121110987654321

0000008810101050

...121110987654321

0000000510101050

...121110987654321

Pri načítavaní budov ukladáme do poľa maximálne výšky budov.Vstup:(2 5 6), (3 10 5), (4 8 7)

Pohľad na mesto: vysvetlenie na príklade Pohľad na mesto: vysvetlenie na príklade

Page 14: Vysvetlenia riešení problémov

Nakoniec vypíšeme údaje, ktoré sú v poli.

Výstup:2 5 3 10 5 8 7 0

0000008810101050

...121110987654321

Pohľad na mesto: vysvetlenie na príklade Pohľad na mesto: vysvetlenie na príklade

Page 15: Vysvetlenia riešení problémov

Alergické červíkyMatúš Horváth

HesláPeter Fillo

Pohľad na mestoPeter Lacko

Zvláštna abecedaPeter Trebatický

Simulácia robotovMartin Kvasnička

Alergické červíkyMatúš Horváth

Page 16: Vysvetlenia riešení problémov

Alergické červíky: vysvetlenieAlergické červíky: vysvetlenie

backtrackingrekurzí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ý

Page 17: Vysvetlenia riešení problémov

AlergickAlergické červíky : vysvetlenieé č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;}

Page 18: Vysvetlenia riešení problémov

Alergické červíkyMatúš Horváth

HesláPeter Fillo

Pohľad na mestoPeter Lacko

Zvláštna abecedaPeter Trebatický

Simulácia robotovMartin Kvasnička

Zvláštna abecedaPeter Trebatický

Page 19: Vysvetlenia riešení problémov

Zvláštna abeceda: riešenie problémuZvláštna abeceda: riešenie problému

Porovnať každé dve po sebe idúce slováPrvé rozdielne písmenoPísmeno z prvého slova je pred písmenom z druhého slova

Vytvoriť orientovaný grafVrcholy sú písmenáA je pred B

Rušiť vrcholy, do ktorých nevedie hrana

A B

Page 20: Vysvetlenia riešení problémov

Zvláštna abeceda: príklad – zadanieZvláštna abeceda: príklad – zadanie

SlovníkXWYZXZXYZXWZWYXYZXYXYW

Page 21: Vysvetlenia riešení problémov

Zvláštna abeceda: príklad – zostrojenie grafuZvláštna abeceda: príklad – zostrojenie grafu

X Z

W Y

SlovníkXWYZXZXYZXWZWYXYZXYXYW

SlovníkXWYZXZXYZXWZWYXYZXYXYW

SlovníkXWYZXZXYZXWZWYXYZXYXYW

SlovníkXWYZXZXYZXWZWYXYZXYXYW

SlovníkXWYZXZXYZXWZWYXYZXYXYW

SlovníkXWYZXZXYZXWZWYXYZXYXYW

Page 22: Vysvetlenia riešení problémov

Zvláštna abeceda: príklad – rušenie vrcholov Zvláštna abeceda: príklad – rušenie vrcholov

X Z

W Y

Výstup

VýstupX

VýstupXZ

VýstupXZY

VýstupXZYW

X Z

W Y

Z

W YYW

Page 23: Vysvetlenia riešení problémov

Alergické červíkyMatúš Horváth

HesláPeter Fillo

Pohľad na mestoPeter Lacko

Zvláštna abecedaPeter Trebatický

Simulácia robotovMartin Kvasnička

Simulácia robotovMartin Kvasnička

Page 24: Vysvetlenia riešení problémov

Simulácia robotov: spôsoby riešeniaSimulácia robotov: spôsoby riešenia

podľa alokácie poľastatickydynamicky

podľa veľkosti poľapole n×m → veľa pamäte4 polia 1×n

Page 25: Vysvetlenia riešení problémov

Simulácia robotov: štruktúra programuSimulá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)

Page 26: Vysvetlenia riešení problémov

Simulácia robotov: pohyb doľavaSimulácia robotov: pohyb doľava a doprava 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

Západ = 3 Východ = 1

Juh = 2

Sever = 0

Page 27: Vysvetlenia riešení problémov

Simulácia robotov: pohyb dopreduSimulácia robotov: pohyb dopredu

premenná indikujúca stratenie robota (Stratil)4 polia typu boolean (int)

poleSpoleVpoleJpoleZ

prvok v poli je true, ak sa na ňom robot stratil (daným smerom)horné hranice mapy – maxx, maxy

Page 28: Vysvetlenia riešení problémov

Ďakujeme za pozornosťĎakujeme za pozornosť