Sa consideram
un text format numai din litere mici ale alfabetului englez. Asupra acestui
text se pot executa urmatoarele operatii de editare:
1. L (cursorul de muta cu o pozitie
la stanga; in cazul in care cursorul se afla la inceputul textului aceasta operatie
nu are nici un efect).
2. R (cursorul de muta cu o pozitie
la dreapta; in cazul in care cursorul se afla la sfarsitul textului aceasta
operatie nu are nici un efect).
3. B (sterge caracterul din stanga
cursorului; in cazul in care cursorul se afla la inceputul textului aceasta
operatie nu are nici un efect).
4. I<secventa> (insereaza
secventa de litere mici specificata dupa litera I
in pozitia curenta a cursorului)
5. D<nr> (sterge incepand
cu pozitia curenta a cursorului nr
caractere; in cazul in care numarul de caractere existente din pozitia curenta
a cursorului pana la sfarsitul sirului este < nr,
se vor sterge toate caracterele existente de la pozitia curenta a cursorului
pana la sfarsitul sirului).
Initial cursorul de scriere se afla la sfarsitul textului (dupa ultimul caracter
din text).
Cerinta
Scrieti un program care
sa aplice unui text dat o secventa de operatii de editare si care sa afiseze
textul astfel obtinut.
Date de
intrare
Fisierul de intrare ed.in
contine pe prima linie textul dat. Pe cea de a doua linie este scris un numar
natural N, care reprezinta numarul
de operatii de editare. Pe urmatoarele N
linii sunt scrise cele N operatii
de editare (cate o operatie pe o linie), in ordinea in care trebuie sa fie executate.
Date de
iesire
Fisierul de iesire ed.out
va contine o singura linie pe care va fi scris textul obtinut dupa executarea
in ordine a celor N operatii
de editare.
Restrictii
si precizari
Textul dat este format
din cel mult 50000 litere mici
ale alfabetului englez.
1 <= N <= 5000
La orice operatie de
inserare (I) se pot insera
in text maxim 10 caractere.
La orice operatie de
stergere (D) se pot sterge
din text maxim 1000 caractere.