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