Diferente pentru problema/telefon intre reviziile #1 si #2

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="telefon") ==
Poveste şi cerinţă...
Avem un telefon pe care butoanele cu cifre sunt aranjate ca în figura alăturată. Acest telefon este acţionat de către un robot care, iniţial, are capul de acţionare deasupra butonului $*$.
Robotul se comandă cu următoarele comenzi:
$S x$	– capul de acţionare se mişcă $x$ unităţi în sus
$J x$	– capul de acţionare se mişcă $x$ unităţi în jos
$DR x$	– capul de acţionare se mişcă $x$ unităţi în dreapta
$ST x$	– capul de acţionare se mişcă $x$ unităţi în stânga
$A$	– apasă capul de acţionare pe butonul deasupra căruia se află.
La terminarea formării numărului, capul trebuie să fie poziţionat deasupra butonului $#$.
h2. Date de intrare
h2. Cerinţă
Fişierul de intrare $telefon.in$ ...
Scrieţi un program care citeşte un număr de telefon, având cel mult $10$ cifre, apoi realizează apelarea acelui număr prin intermediul robotului, parcurgând un drum de lungime minimă deasupra tastaturii.
Dacă pentru a ajunge deasupra următorului buton, mişcarea capului presupune deplasare şi pe orizontală şi pe verticală, atunci **mai întâi trebuie efectuată mişcarea pe verticală**, cea pe orizontală urmând acesteia.
h2. Date de ieşire
h2. Date de intrare
În fişierul de ieşire $telefon.out$ ...
În fişierul de intrare $telefon.in$ este scris un număr întreg, reprezentând numărul de telefon care trebuie apelat.
h2. Restriii
h2. Date de iire
* $... ≤ ... ≤ ...$
În fişierul de ieşire $telefon.out$ se vor scrie comenzile care trebuie să le execute robotul pentru a apela numărul de telefon dat. Comenzile se vor scrie pe o singură linie, în ordinea în care va trebui să le efectueze robotul. Două comenzi se vor despărţi printr-un singur spaţiu.
h2. Exemplu
table(example). |_. telefon.in |_. telefon.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 123804
| S 3 A DR 1 A DR 1 A J 2 ST 1 A J 1 A S 2 ST 1 A J 2 DR 2
|
h3. Explicaţie
...
Mai întâi trebuie să mutăm capul de acţionare de deasupra butonului $*$ deasupra butonului $1$. În acest scop ne mutăm în sus $3$ poziţii $(S 3)$ şi apăsăm butonul $(A)$. Urmează butonul $2$, deci mutăm capul o poziţie la dreapta $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge la butonul $3$, din nou facem o mutare la dreapta cu o poziţie $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge deasupra butonului $8$, mai întâi mutăm capul în jos $2$ poziţii $(J 2)$, apoi la stânga o poziţie $(ST 1)$ şi apăsăm $(A)$. 0 se află sub $8$, deci avem o mutare $(J 1)$ şi apăsăm $(A)$. Acum trebuie să ajungem la $4$, deci urcăm $2$ poziţii $(S 2)$, apoi mutăm capul o poziţie la stânga $(ST 1)$ şi apăsăm $(A)$. În final mutăm capul deasupra butonului $#$ cu comenzile $J 2$ şi $DR 2$. Aici nu trebuie să apăsăm butonul.
== include(page="template/taskfooter" task_id="telefon") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.