Pagini recente »
Atașamentele paginii Clasament informatica_distractiva_runda_1
|
Atașamentele paginii Clasament concurs_9-10_2024_1
|
Diferențe pentru problema/strgen între reviziile 35 și 82
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="strgen") ==
table(example){border-collapse:collapse}.
|:. 2|:. 10|
|_>. I |_>. ȘIR |
|
table{width: auto; float: right}.
|_>. I |_<. ȘIR |
|>.
x
n
>
>
>
a
| [+$+]
|<. [+$+]
[+x+]$
[+n+]x$
n[+x+]$
adn[+a+]xa$
|
Limbajul Adnaxasienilor este foarte ordonat. Pământenii l-au analizat și au descoperit că toate cuvintele lor pot fi generate cu un generator de șiruri de caractere ce execută instrucțiuni, în felul următor:
* Generatorul pornește cu șirul format din caracterul [_*$*_] și cu o poziție, inițial 1, corespunzătoare poziției lui.
* Dacă la intrare primește un caracter literă mică, o inserează în șir la poziția curentă.
* Dacă la intrare primește un caracter [_*>*_] avansează poziția în șir cu unu.
* Dacă în urma avansului în șir poziția iese din șir, ea revine la poziția 1.
De exemplu, dacă la intrare primește [_*xn>>a>>da>>>a*_] generatorul va genera șirul [_*adnaxa$*_], ca în tabelul alăturat.
h2. Cerință
Dat un șir de instrucțiuni să se afișeze șirul generat.
h2. Date de intrare
Fișierul de intrare $strgen.in$ ...
Fișierul de intrare $strgen.in$ conține un șir de caractere litere mici sau [_*>*_], terminat cu caracterul sfârșit de linie.
h2. Date de ieșire
În fișierul de ieșire $strgen.out$ ...
În fișierul de ieșire $strgen.out$ veți afișa șirul de caractere generat.
h2. Restricții
* $... ≤ ... ≤ ...$
* La intrare sunt numai caractere literă mică sau [_*>*_].
* 1 ≤ numărul de caractere de la intrare ≤ 2 000 000
* Pentru 50p în urma instrucțiunilor nu se va trece niciodată peste finalul de șir (nu se va relua poziția de la 1)
h2. Exemplu
table(example).
|_. strgen.in |_. strgen.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|_. strgen.in |_. strgen.in |_\2. Explicație exemplul 1 |_\2. Explicație exemplul 2 |
|{height:14px}. en>>dr>>nav>>>a
| xn>>a>>da>>>a
|/3>.
e
n
>
>
d
r
>
>
n
a
v
>
>
>
a
|/3<. [+$+]
[+e+]$
[+n+]e$
n[+e+]$
ne[+$+]
ne[+d+]$
ne[+r+]d$
ner[+d+]$
nerd[+$+]
nerd[+n+]$
nerd[+a+]n$
nerd[+v+]an$
nerdv[+a+]n$
nerdva[+n+]$
nerdvan[+$+]
nerdvan[+a+]$
|/3>.
x
n
>
>
a
>
>
d
a
>
>
>
a
|/3<. [+$+]
[+x+]$
[+n+]x$
n[+x+]$
nx[+$+]
nx[+a+]$
nxa[+$+]
[+n+]xa$
[+d+]nxa$
[+a+]dnxa$
a[+d+]nxa$
ad[+n+]xa$
adn[+x+]a$
adn[+a+]xa$
|
h3. Explicație
...
|_{height:14px}. strgen.out |_. strgen.out |
| nerdvana$
| adnaxa$
|
== include(page="template/taskfooter" task_id="strgen") ==
Nu există diferențe între securitate.