Mama mea
are obiceiul de a-mi lasa instructiuni casnice pe biletele colorate, lipite
pe un panou, lânga frigider. Biletelele sunt dreptunghiulare, toate de
aceeasi înaltime (egala cu înaltimea panoului), dar de lungimi diferite.
Mama nu arunca niciodata biletelele vechi, ci lipeste altele noi peste cele
existente. Acum nici o portiune de panou nu mai este vizibila, se vad doar culorile
biletelelor lipite.
În fiecare dimineata când îmi beau cafeaua ma framânta
aceeasi întrebare: câte biletele sunt?
Dar fiindca mi-e lene sa le numar, as prefera sa scriu un program care sa determine
numarul minim de biletele existente pe panou.
În acest scop codific culorile biletelor prin litere mari ale alfabetului
englez (asociind câte o litera pentru fiecare centimetru de culoare vizibil).
Cerinta
Scrieti un program care,
analizând culorile vizibile pe panou, determina numarul minim de bilete
existente.
Date de
intrare
Fisierul de intrare bilete.in
contine o singura linie, pe care este scris un sir format numai din litere mari
ale alfabetului englez, reprezentând culorile vizibile pe panou.
Date de
iesire
Fisierul de iesire bilete.out
va contine o singura linie pe care va fi scris numarul minim de bilete existente
pe panou.
Restrictii
si precizari
Lungimea panoului este
de maxim 100 cm.
Exemplu
bilete.in
bilete.out
Explicatie
ABCCCBAABA
4
O
posibila solutie este:
Mama a lipit un bilet de culoare A,
de lungime 10 cm.
Apoi a fost lipit (la 1 cm
distanta de marginea stânga a panoului) un bilet de culoare B,
de lungime 5 cm.
Apoi a fost lipit (la 2 cm
distanta de marginea panoului) un bilet de culoare C,
de lungime 3 cm.
Ultimul a fost lipit (la 8
cm distanta de marginea panoului) un bilet de culoare B,
de lungime 1 cm.