Escriviu el codi d’una funció recursiva elimina_punts
que
donada una cua de punts c i un punt p, retorni la cua resultant
d’eliminar totes les aparicions del punt p de la cua c. Si la
cua no conté el punt p, la cua no s’ha de modificar.
Entrada
Com a entrada hi haurà una cua: el nombre de punts i els punts que la formen. A continuació hi hauran un o més punts addicionals.
Per llegir la cua s’ha utilitzat l’operador >>
que es troba definit
en el mòdul queueIOpunt
.
Sortida
Com a sortida es mostrarà la cua original. A continuació es mostrarà una cua per cada punt d’entrada addicional que serà la cua obtinguda a l’eliminar aquest punt en la cua original.
Per escriure les cues s’ha utilitzat l’operador <<
que es troba
definit en el mòdul queueIOpunt
.
Observació
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar cua_elimina.cpp
Observeu que per compilar us donem el Makefile
, els mòduls Punt
i queueIOpunt
, la capçalera del mòdul funcional cua_elimina.hpp
i el programa principal program.cpp
.
Jutge.org també us donarà un semàfor verd si envieu una solució iterativa, però no serà correcte doncs l’enunciat del problema demana que la solució enviada sigui recursiva.
Input
5 2 1 6 5 7 0 6 5 5 0 6 5 7 0 7 1
Output
<(2, 1)|(6, 5)|(7, 0)|(6, 5)|(5, 0)|< <(2, 1)|(7, 0)|(5, 0)|< <(2, 1)|(6, 5)|(6, 5)|(5, 0)|< <(2, 1)|(6, 5)|(7, 0)|(6, 5)|(5, 0)|<