Diferențe pentru problema/zugraveala între reviziile #2 si #8

Nu există diferențe între titluri.

Diferențe între conținut:

== include(page="template/taskheader" task_id="zugraveala") ==
Poveste și cerință...
Ion are o casă lungă, tip vagon (camerele sunt dispuse liniar). El se apucă să zugrăvească. Pentru aceasta, își cumpără vopsele de 26 de culori, codificate prin litere mici ale alfabetului latin. Vreme de $N$ zile, el face zilnic una din următoarele operații:
 
# Zugrăvește următoarea cameră încă nezugrăvită cu o culoare dorită [$X$].
# Plictisit, trece prin toate camerele deja zugrăvite, iar pe cele care au culoarea $X$ le rezugrăvește cu culoarea [$Y$].
 
Cum va arăta casa lui Ion după cele $N$ zile?
h2. Date de intrare
Fișierul de intrare $zugraveala.in$ ...
Fișierul de intrare $zugraveala.in$ conține pe prima linie numărul [$N$]. Următoarele $N$ linii conțin câte o operație sub una din formele
 
* $1 X$ -- zugrăvește următoarea cameră în culoarea $X$ (unde $X$ este o literă mică)
* $2 X Y$ -- rezugrăvește toate camerele care au culoarea $X$ cu culoarea $Y$ (unde $X$ și $Y$ sunt litere mici, posibil egale)
h2. Date de ieșire
În fișierul de ieșire $zugraveala.out$ ...
În fișierul de ieșire $zugraveala.out$ se vor afișa, pe o singură linie, lipite, culorile camerelor zugrăvite de Ion, în ordinea în care apar ele în casă.
h2. Restricții
* $... ≤ ... ≤ ...$
* $1 ≤ N ≤ 100.000$
* Casa lui Ion are cel puțin $N$ camere.
h2. Exemplu
table(example).
|_. zugraveala.in |_. zugraveala.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 10
1 c
1 b
1 a
1 c
1 d
2 a b
1 c
1 a
1 b
2 b d
| cddcdcad
|
h3. Explicație
...
Ion zugrăvește primele 5 camere în culorile [$cbacd$]. Apoi înlocuiește toate [$a$]-urile cu [$b$]-uri, obținând [$cbbcd$]. Zugrăvește încă trei camere, obținând [$cbbcdcab$]. În sfârșit, înlocuiește toate [$b$]-urile cu [$d$]-uri, obținând [$cddcdcad$].
== include(page="template/taskfooter" task_id="zugraveala") ==

Nu există diferențe între securitate.