bilete

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

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.

Timp maxim de executie/test: 0.1 secunde

prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil" Iasi
Contact:emanuela.cerchez@gmail.com