A - KravičkaČasový limit: 2s, Pamäťový limit: 64MiBProgramovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3Počet bodov: 1 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] Niektorí cvičiaci PAZka si veľmi obľúbili hru Kravičky (IQ Marathon). Je to jednoduchá hra. Hrá sa v mriežkovej ploche, v ktorej sa nachádza kravička. Kravička sa vždy hýbe tým smerom, ktorým je natočená, až dokiaľ nenarazí na prekážku. Vtedy zastane. Avšak ak kravička narazí na políčko s navigačnou šípkou, zmení svoj smer pohybu v smere tejto šípky (otočí sa vľavo, vpravo alebo čelom vzad). Úlohou hráča je umiestniť do hracej plochy zadané navigačné šípky tak, aby sa kravička zo svojej východiskovej pozície dostala do zadanej cieľovej pozície. Na štartovaciu pozíciu kravičky nie je možné umiestniť navigačnú šípku (na začiatku je toto políčko obsadené kravičkou). Pre väčšinu hráčov tejto hry je cieľom stať expertom - dostať sa do najvyššieho levelu. No sú aj takí, čo si pri tejto hre kladú algoritmické otázky. Napríklad, aký je minimálny počet šípok, ktoré musíme použiť pre vyriešenie zadaného levelu (rozmer mriežky, umiestnenie prekážok, počiatočná pozícia a smer kravičky, cieľová pozícia)? ÚlohaVytvorte program, ktorý načíta popis levelu a vypočíta minimálny počet šípiek na zmenu smeru kravičky, ktoré sú potrebné na to, aby sa kravička dostala do cieľovej pozície. VstupPrvý riadok vstupu obsahuje dve medzerou oddelené čísla m a n (5 ≤ m, n ≤ 90), kde m je počet riadkov (výška) hracej plochy (mriežky) a n je počet stĺpcov (šírka) hracej plochy. V nasledujúcich m riadkoch nasleduje opis riadkov hracej mriežky v danom levele. Každému políčku zodpovedá jedno písmeno:
Možete predpokladať, že celá hracia plocha je olemovaná políčkami s prekážkami a nachádza sa na nej práve jedno štartovacie a cieľové políčko. VýstupVýstupom je minimálny počet šípiek, ktoré je nutné umiestniť v ploche, aby bolo možné kravičku odnavigovať do cieľovej pozície, resp. -1 ak sa kravička nedá dostať do cieľovej pozície. Výstup ukončite znakom konca riadku. PríkladVstup:20 30 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X X X X X X XX X X X X X X X X X X XX X X X X XXXXXXXXXXXXX X H X XX X X X X X XXXXXX XX X X X X X X X X XX X X X X X XXXX X X X X X X X XXXXXXXXXX X X X X XX X XX X X X X X X X C X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Výstup:4 |