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
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