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