== include(page="template/taskheader" task_id="smiley") ==
Poveste și cerință...
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)
h2. Cerință
Dat fiind un text, să se determine numărul de smileys care apar în text.
h2. Date de intrare
Fișierul de intrare $smiley.in$ ...
Fișierul de intrare smiley.in conține un text scris pe una sau mai multe linii.
h2. Date de ieșire
În fișierul de ieșire $smiley.out$ ...
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.
h2. Restricții
* $... ≤ ... ≤ ...$
* Orice linie din fișierul de intrare conține cel mult 250 de caractere.
* Textul conține cel mult 10000 de caractere.
h2. Exemplu
table(example).
|_. smiley.in |_. smiley.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| Salut! :) Ce mai faci? :----)))
Ai aflat noutatile? ;-P
-(eu ieri am aflat)
>))))))!!!!!!!!
| 4
|
h3. Explicație
h2. Explicație
...
Cele 4 secvențe smiley din text sunt:
:)
:----)))
;-P
>))))))
== include(page="template/taskfooter" task_id="smiley") ==