Fișierul intrare/ieșire | strgen.in, strgen.out | Sursă | Test verificare Nerdvana, nov. 2023 |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Cristian Frâncu • francu |
Timp de execuție pe test | 0.4 sec | Limită de memorie | 32768 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
StrGen (clasa a 7-a)
I | ȘIR |
---|---|
x n > > a > > d a > > > a |
$ x$ nx$ nx$ nx$ nxa$ nxa$ nxa$ dnxa$ adnxa$ adnxa$ adnxa$ adnxa$ adnaxa$ |
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.
Cerință
Dat un șir de instrucțiuni să se afișeze șirul generat.
Date de intrare
Fișierul de intrare strgen.in conține un șir de caractere litere mici sau >, terminat cu caracterul sfârșit de linie.
Date de ieșire
În fișierul de ieșire strgen.out veți afișa șirul de caractere generat.
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)
Exemplu
strgen.in | strgen.in | Explicație exemplul 1 | Explicație exemplul 2 | ||
---|---|---|---|---|---|
en>>dr>>nav>>>a |
xn>>a>>da>>>a |
e n > > d r > > n a v > > > a |
$ e$ ne$ ne$ ne$ ned$ nerd$ nerd$ nerd$ nerdn$ nerdan$ nerdvan$ nerdvan$ nerdvan$ nerdvan$ nerdvana$ |
x n > > a > > d a > > > a |
$ x$ nx$ nx$ nx$ nxa$ nxa$ nxa$ dnxa$ adnxa$ adnxa$ adnxa$ adnxa$ adnaxa$ |
strgen.out | strgen.out | ||||
nerdvana$ |
adnaxa$ |