Freqüència de paraules amb diccionaris (amb esborrat) X79905


Statement
 

pdf   zip   tar

html

Donada una seqüència d’entrada que consisteix en un codi i una paraula, si el codi és a cal incrementar la freqüència de la paraula que segueix, si el codi és e cal decrementar la freqüència de la paraula que segueix, i si el codi és f cal escriure a la sortida estàndard la freqüència de la paraula que segueix (en la part de la seqüència llegida fins aleshores). Si la paraula no existeix, la freqüència és, òbviament, zero.

Feu servir un diccionari per a implementar aquest problema. Per a cada opció, només s’hauria de fer una crida a una única operació primitiva de cost logarísmic (normalment find, lower_bound o les versions sense iterador de insert i erase). La resta haurien de ser de cost constant (normalment accés a elements, insercions o esborrats, tot amb iteradors).

Entrada

L’entrada és una llista de parells (codi, paraula). El codi pot ser a, e, o f. En el primer cas, voldrà dir que cal incrementar la freqüència de la paraula que segueix. En el segon cas, voldrà dir que cal decrementar la freqüència de la paraula que segueix. En el tercer cas, el que caldrà fer és treure per pantalla la freqüència de la paraula que segueix per pantalla.

Sortida

La sortida són les freqüències de les paraules que tindran el codi f a davant.

Observació Cal fer servir la classe map de les stl. Cal enviar 1 sol fitxer: program.cc.

Public test cases
  • Input

    a cup
    a psoe
    f juntspelsi
    f cup
    a cup
    a cup
    f podem
    e podem
    f podem
    a juntspelsi
    a juntspelsi
    a qwerty
    a juntspelsi
    f pp
    a pp
    a cup
    a pp
    f pp
    f cup
    a psoe
    a qwerty
    e pp
    e cup
    a juntspelsi
    a juntspelsi
    f psoe
    f pp
    f cup
    

    Output

    0
    1
    0
    0
    0
    2
    4
    2
    1
    3
    
  • Input

    f p1
    f p2
    f p3
    a p2
    a p3
    f p1
    f p2
    f p3
    a p1
    a p2
    a p3
    a p3
    f p1
    f p2
    f p3
    a p3
    a p2
    a p1
    f p1
    f p2
    f p3
    e p1
    e p2
    e p3
    f p1
    f p2
    f p3
    a p2
    a p1
    f p1
    f p2
    f p3
    a p1
    a p1
    f p1
    f p2
    f p3
    e p3
    e p3
    e p3
    f p3

    Output

    0
    0
    0
    0
    1
    1
    1
    2
    3
    2
    3
    4
    1
    2
    3
    2
    3
    3
    4
    3
    3
    0
    
  • Information
    Author
    J. Baixeries / B. Valles
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++