Diferente pentru problema/culori2 intre reviziile #2 si #15

Diferente intre titluri:

culori2
Culori2

Diferente intre continut:

Lucrati la aceasta cooperativa si trebuie sa scrieti un program care implementeaza urmatoarele comenzi:
* $SPLIT( P, L, CL, CR )$ – bucata de teava care incepe la pozitia $P$ va fi impartita in doua bucati mai mici, cea din stanga avand marimea $L$. Apoi bucata din stanga va fi colorata cu culoarea $CL$ si cea din dreapta cu culoarea $CR$. Se garanteaza ca $0$ < $L$ < lungimea bucatii de teava care trebuie impartita
* $UNDO( P )$ – bucata care incepe la pozitia $P$ se va resuda cu bucata imediat din dreapta ei. Se garanteaza ca in momentul apelarii acestei comenzi bucata imediat din dreapta ei este cea obtinuta prin aceeasi operatie de taiere in urma careia a rezultat bucata de la pozitia $P$ (chiar daca se poate ca oricare dintre cele doua bucati sa fi fost taiate si resudate). Bucata rezultata se va recolora in culoarea pe care o avea inainte de taiere
* $GETCOLOR( P )$ – se afiseaza culoarea bucatii care incepe la pozitia $P$
* $SPLIT (P L CL CR)$: bucata de teava care incepe la pozitia $P$ va fi impartita in doua bucati mai mici, cea din stanga avand marimea $L$. Apoi bucata din stanga va fi colorata cu culoarea $CL$ si cea din dreapta cu culoarea $CR$. Se garanteaza ca $0$ < $L$ < lungimea bucatii de teava care trebuie impartita
* $UNDO (P)$: bucata care incepe la pozitia $P$ se va resuda cu bucata imediat din dreapta ei. Se garanteaza ca in momentul apelarii acestei comenzi bucata imediat din dreapta ei este cea obtinuta prin aceeasi operatie de taiere in urma careia a rezultat bucata de la pozitia $P$ (chiar daca se poate ca oricare dintre cele doua bucati sa fi fost taiate si resudate). Bucata rezultata se va recolora in culoarea pe care o avea inainte de taiere
* $GETCOLOR (P)$: se afiseaza culoarea bucatii care incepe la pozitia $P$
Pentru toate comenzile, va exista o bucata de teava care sa inceapa la pozitia $P$.
h2. Date de intrare
...
Fisierul $culori2.in$ contine pe prima linie numerele $N$, $C$ si $M$, separate printr-un spatiu. Fiecare dintre urmatoarele $M$ linii contine o comanda. Comenzile sunt codificate astfel:
 
* $SPLIT (P L CL CR)$ -> $2 P L CL CR$
* $UNDO (P)$ -> $1 P$
* $GETCOLOR (P)$ -> $0 P$
h2. Date de iesire
...
Fisierul $culori2.out$ va contine atatea linii cate comenzi $GETCOLOR$ sunt, reprezentand culorile respective, in ordinea comenzilor $GETCOLOR$ corespunzatoare.
 
h2. Restrictii
* $... &le; ... &le; ...$
* $1 &le; N &le; 524288 (2^19^)$
* $1 &le; M &le; 2 000 000$
* Toate culorile au valori cuprinse intre $0$ si $255$ (inclusiv)
* Pozitiile vor fi numere intregi intre $0$ la $N-1$ (inclusiv)
h2. Exemplu
table(example). |_. culori2.in |_. culori2.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
| 11 3 13
  2 0 8 1 3
  1 0
  2 0 10 3 0
  0 0
  2 0 9 1 1
  2 0 8 2 3
  1 0
  2 0 5 2 3
  1 0
  2 0 5 3 2
  0 9
  1 0
  0 0
| 3
  1
  1
|
h3. Explicatie
== include(page="template/taskfooter" task_id="culori2") ==
...
== include(page="template/taskfooter" task_id="culori2") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
1853