Pagini recente » Diferente pentru problema/camion intre reviziile 7 si 8 | Statistici Alexandra Gartu (DigitAll) | sort | Diferente pentru transformari-geometrice intre reviziile 5 si 6 | Diferente pentru problema/parcare intre reviziile 2 si 3
Diferente intre titluri:
Diferente intre continut:
== include(page="template/taskheader" task_id="parcare") ==
==Include(page="template/taskheader" task_id="parcare")==
Poveste ...
Pentru a face rost de bani, Cezar s-a angajat, pe perioada verii ca administrator al unei parcari. Parcarea este un patrat format din blocuri de beton, de asemenea patrate, cu latura de un metru. Parcarea are o singura iesire pe latura dinspre nord, in rest este inconjurata de ziduri pe care masinile nu le pot depasi. Masinile din parcare sunt dreptunghiuri cu latimea de $1m$ si lungimea mai mare sau egala cu $2m$. Ele sunt orientate nord-sud sau est-vest. Atunci cand s-a angajat, Cezar nu credea ca aceasta slujba ii va crea probleme, dar astazi este intr-o situatie delicata : un client i-a cerut sa-i scoata masina din parcare. Cezar are cheile de la toate masinile, dar nu este un sofer foarte bun : el nu poate lua viraje, poate merge doar inainte si in marsarier. A incercat timp de o ora sa scoata masina din parcare, dar nu a reusit si s-a gandit sa apeleze la ajutorul vostru. El a facut o harta a parcarii : a reprezentat cu $`.'$ portiunile de asfalt, cu $`#'$ zidurile parcarii si cu litere mari consecutive ale alfabetului latin masinile. Masina care trebuie scoasa din parcare a reprezentat-o cu $`A'$.
h2. Cerinta
...
El va roaga sa-i scrieti un program care sa scoata masina din parcare in mai putin de $100$ miscari. El considera o miscare mutarea unei masini, intr-o anumita directie, cu un numar intreg de metri.
h2. Restrictii
h2. Date de Intrare
...
Pe prima linie a fisierului $parcare.in$ se afla un numar intreg $N$ reprezentand dimensiunea hartii. Pe urmatoarele $N$ linii se afla cate $N$ caractere reprezentand codificarea hartii.
h2. Date de intrare
h2. Date de Iesire
...
Pe prima linie a fisierului $parcare.out$ se va afla numarul de miscari $M$ prin care a fost rezolvata problema. Pe urmatoarele $M$ linii se vor afla $3$ caractere ce reprezinta o mutare. Primul reprezinta litera asociata masinii ce va fi mutata, al doilea directia in care va fi mutata ($N$- nord, $S$-sud, $E$-est, $V$-vest), iar al treilea numarul de blocuri cu care va fi mutata. In locul miscarii prin care masina $`A'$ paraseste parcarea se va afisa $`Exit'$.
h2. Restrictii si precizari
* $7 ≤ N ≤ 9$
* Sunt maxim $10$ masini in parcare.
* Pe a doua linie a fisierului de intrare se va gasi un caracter $`.'$ (iesirea)
* Daca o masina are o anumita litera a alfabetului atunci exista exact o masina atribuita fiecarei litere mai mici decat litera respectiva.
* Nu exista doua masini cu aceeasi litera.
* Este imposibil ca alta masina sa poata parasi parcarea inaintea masinii $`A'$
* Se garanteaza existenta unei solutii.
* Orice solutie cu mai putin $100$ miscari va primi punctajul maxim.
h2. Exemple
table(example). |_. parcare.in |_. parcare.out |
| 8
###.####
#..BBBC#
#..A..C#
#..A..C#
#.....C#
#.....C#
#......#
########
| 3
CS1
BE1
Exit |
| 8
###.####
#HHH.G.#
#....GF#
#.EEE.F#
#..A..F#
#B.A...#
#BCCCDD#
########
| 8
BN1
CV1
DV1
FS2
GS3
EE2
HE3
Exit |
h2. Date de iesire
...
h2. Exemplu
| parcare.in | parcare.out |
| linia1
linia2
linia3
| linia1
linia2
|
== include(page="template/taskfooter" task_id="parcare") ==
==Include(page="template/taskfooter" task_id="parcare")==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.