A2 - pArkovanie 2Č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 ] ÚlohaVytvorte program, ktorý nájde najbližšie parkovacie miesto pre vozidlo a vypíše, koľko krokov treba vykonať, aby tam šofér vedel zaparkovať. VstupPrvý riadok obsahuje rozmery mapy parkoviska R (1 ≤ R ≤ 150) a S (1 ≤ S ≤ 150). Nasleduje mapa parkoviska pozostávajúca z R riadkov po S stĺpcov. Každému políčku zodpovedá práve 1 písmeno. Význam písmen je nasledovný:
Vozidlo je reprezentované 2 políčkami (písmeno o sa na mape nenachádza, slúži ako vizualizácia zadnej časti vozidla) a dokáže: - pohnúť sa dopredu (1 krok) ..... ..... ..... ..w.. ..w.. -> ..o.. ..o.. ..... ..... ..... cúvať dozadu (1 krok) ..... ..... ..... ..... ..w.. -> ..... ..o.. ..w.. ..... ..o.. - pohnúť sa dopredu a otáčať doľava, ak pred ním nie je prekážka (3 kroky) ..... ..... ..... ao... xxw.. -> xx... .xo.. .x... ..... ..... - pohnúť sa dopredu a otáčať doprava, ak pred ním nie je prekážka (3 kroky) ..xxx ..xxx ..... ...od ..w.. -> ..... ..o.. ..... ..... ..... - cúvanie s otáčaním nie je povolené, lebo nie každý šofér je si istý otáčať počas cúvania. Môžete predpokladať, že:
VýstupVýstupom programu je najmenší počet krokov potrebných na zaparkovanie vozidla. Ak nie je možné zaparkovať vráťte -1. PríkladVstup:6 7 xxxxxxx x.xxxxx xsx.x^x x.xvx.x x.....x xxxxxxx Výstup:8 Vstup:7 10 xxxxxxxxxx xxxxx.xxxx xxxxxsxxxx xxxxx^xxxx xxxxx.xxxx x........x xxxxxxxxxx Výstup:11 |