Pentru această operație este nevoie să te autentifici.
Pentru această operație este nevoie să te autentifici.

Fișierul intrare/ieșire smiley.in, smiley.out Sursă OMI Iasi 2015
Autor Emanuela Cerchez Adăugată de avatar calingeorgescu Calin Stefan Georgescu calingeorgescu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate N/A

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

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 1 categorii