Autorské riešenie Úloha vyzerá na prvý pohľad ťažká, ale nie je tomu tak. Stačí o nej trochu porozmýšľať. Prvý problém je, že nevieme, ako farbou mala šachovnica začínať (napr. ľavý spodný roh). Predpokladajme, že začiatočná farba je žltá (urobTu "zaciatocnaFarbaStlpca "zlta). Keďže poznáme rozmery šachovnice (počet štvorčekov v riadkoch a stĺpcoch), vieme zistiť, koľko štvorčekov je vyfarbených nesprávnou farbou. Ak by sme však nakoniec zistili, že je potrebné prefarbiť viac ako polovicu všetkých štvorčekov, výhodnejšie bude prefarbiť tie, o ktorých sme si pôvodne mysleli, že sú správne. Šachovnica teda bude začínať modrou farbou. Šachovnicou môžeme prechádzať po stĺpcoch. Na každom štvorčeku na ktorom sa zastavíme otestujeme, či je chybnej farby (ak farbaBodu<>:farba). Ak áno, zvýšime počet chybných štvorčekov (zvys "pocetChyb). Nezabudnime, že ak sa posunieme na ďalší štvorček, zmeníme testovanú farbu. ak2 :farba="zlta [ Ak začneme testovať štvorčeky v nasledujúcom stĺpci nezabudnime, že by mal začínať inou farbou ako ten predchádzajúci. ak2 :zaciatocnaFarbaStlpca="zlta [ Celá procedúra pocetChybnych môže vyzerať nasledovne: viem pocetChybnych Vaše zaujímavé riešenia a najčastejšie chyby
|
||||||||||
© Univerzita Pavla Jozefa Šafárika v Košiciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |