Fișierul intrare/ieșire | smiley.in, smiley.out | Sursă | OMI Iasi 2015 |
---|---|---|---|
Autor | Emanuela Cerchez | Adăugată de |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
Smiley
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ță
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
- 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 | smiley.out |
---|---|
Salut! :) Ce mai faci? :——))) Ai aflat noutatile? ;-P -(eu ieri am aflat) >))))))!!!!!!!! |
4 |
Explicație
Cele 4 secvențe smiley din text sunt:
:)
:——)))
;-P
>))))))