Pentru a exprima starea de spirit în comunicarea online sunt utilizate emoticonurile (cunoscute şi sub denumirea de smileys). În mod text, un smiley
este reprezentat ca o secvenţă de caractere. În problema noastră, un smiley este o secvenţă care îndeplineşte simultan următoarele condiţii:
- secvenţa începe cu un caracter din mulţimea
{′:′,′;′,′>′,′8′}
- urmează zero, unul sau mai multe caractere
′-′ (minus)
- se termină cu unul, două sau mai multe caractere identice din mulţimea
{′(′, ′)′, ′[′, ′]′, ′D′, ′P′, ′O′, ′X′, ′3′}
De exemplu, fiecare dintre următoarele secvenţe este un smiley:
:)
:-(((
;------------]
:-O
Următoarele secvenţe nu reprezintă un smiley (deşi e posibil să conţină un smiley):
:-)] (parantezele finale nu sunt identice)
-) (lipseşte caracterul de început
::-[ (are două caractere : la început)
Cerința
Dat fiind un text, să se determine numărul de smileys care apar în text.
Date de intrare
Fişierul de intrare smiley.in
conţine un text scris pe una sau mai multe linii.
Date de ieșire
Fişierul de ieşire smiley.out
va conţine o singură linie pe care va fi scris un singur număr natural reprezentând numărul de smileys care apar în text.
Restricții și precizări
• Orice linie din fişierul de intrare conţine cel mult 250
de caractere.
• Textul conţine cel mult 10000
de caractere.
Exemplu:
smiley.in
Salut! :) Ce mai faci? :----))) Ai aflat noutatile? ;-P -(eu ieri am aflat) >))))))!!!!!!!!
smiley.out
4
Explicație
Cele 4
secvenţe smiley din text sunt:
:)
:----)))
;-P
>))))))