Eu
lucrez la editura unei reviste stiintifice. Redactorul sef tocmai mi-a trasat
o sarcina laborioasa: sa prelucrez toate textele stiintifice astfel incat sa
respecte un nou standard.
Un
text stiintific este format dintr-o succesiune de paragrafe. Un paragraf este
o succesiune de caractere terminata cu marcajul de sfarsit de linie (caracterul
newline)
O referinta este un numar natural cuprins intre 1 si 99, incadrat intre paranteze
patrate (de exemplu [23]), fara
spatii intre numar si paranteze. Parantezele patrate nu sunt utilizate decat
pentru marcarea referintelor.
Exista doua tipuri de paragrafe: paragraf normal si paragraf descriere de referinta.
Un paragraf normal poate sa contina un numar oarecare de referinte.
Un paragraf descriere de referinta difera de un paragraf normal prin faptul
ca incepe cu referinta ce urmeaza a fi descrisa si nu contine in interiorul
sau alte referinte. De exemplu:
[23] Aceasta este descrierea...
Paranteza patrata deschisa va fi pe prima pozitie a paragrafului descriere de
referinta.
Pentru fiecare referinta care apare in paragrafele normale trebuie sa existe
un paragraf descriere de referinta. De asemenea, orice paragraf descriere de
referinta trebuie sa corespunda unei/unor referinte care apar in paragrafe normale.
Dupa
noile standarde un text stiintific trebuie sa respecte urmatoarele reguli:
- referintele trebuie sa fie renumerotate, in ordinea primei lor aparitii in
text, incepand cu 1;
- ordinea paragrafelor normale se pastreaza;
- paragrafele descriere de referinta trebuie sa fie plasate toate la sfarsitul
textului, in ordinea numerelor referintelor descrise;
- nici o alta modificare nu este permisa in text.
Cerinta
Scrieti
un program care sa citeasca un text stiintific si care sa-l prelucreze respectand
regulile noului standard.
Date de intrare
Fisierul
de intrare ref.in va contine
textul stiintific care urmeaza sa fie prelucrat.
Date de iesire
Fisierul
de iesire ref.out va contine
textul stiintific prelucrat dupa noul standard.
Restrictii si precizari
Lungimea unui paragraf
este cel mult 1000 caractere.
Numarul de paragrafe
nu depaseste 700.
Exemplu
ref.in
ref.out
[44]
reference description for 44
text 20 [20] text some other text 44 [44]
text again 20 [20]
[33] reference description for 33
regular paragraph 20 [20] regular paragraph 20 [20]
[20] reference description for 20
regular paragraph 20 [20] regular paragraph 33 [33]
regular paragraph 33 [33] regular paragraph 44 [44]
text
20 [1] text some other text 44 [2]
text again 20 [1]
regular paragraph 20 [1] regular paragraph 20 [1]
regular paragraph 20 [1] regular paragraph 33 [3]
regular paragraph 33 [3] regular paragraph 44 [2]
[1] reference description for 20
[2] reference description for 44
[3] reference description for 33