Diferente pentru problema/parcare intre reviziile #1 si #8

Nu exista diferente intre titluri.

Diferente intre continut:

==Include(page="template/taskheader" task_id="parcare")==
 
==Include(page="template/raw")==
 
Parcare
 
 
 
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 1 m si lungimea mai mare sau egala cu 2 m. 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. 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 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.
 
 
 
Exemple
 
 
|parcare.in |parcare.out |parcare.in |parcare.out |
 
|8 |3 |8 |8 |
| | | | |
|###.#### |CS1 |###.#### |BN1 |
| | | | |
|#..BBBC# |BE1 |#HHH.G.# |CV1 |
| | | | |
|#..A..C# |Exit |#....GF# |DV1 |
| | | | |
|#..A..C# | |#.EEE.F# |FS2 |
| | | | |
|#.....C# | |#..A..F# |GS3 |
| | | | |
|#.....C# | |#B.A...# |EE2 |
| | | | |
|#......# | |#BCCCDD# |HE3 |
| | | | |
|######## | |######## |Exit |
| | | | |
| | | | |
 
 
 
 
==Include(page="template/taskheader" task_id="parcare")==
 
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. 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 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 &le; N &le; 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 |
 
==Include(page="template/taskfooter" task_id="parcare")==
==Include(page="template/taskfooter" task_id="parcare")==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
1228