Donada la classe Llista que permet guardar seqüències d’enters amb una llista doblement encadenada, sense fantasma i no circular, cal implementar el mètode
que duplica els elements parells i elimina els elements senars del paràmetre implícit.
Cal enviar a jutge.org només la implementació del mètode duplica_parells_elimina_senars. La classe Llista té la següent especificació:
Per testejar la solució, jutge.org ja té implementats la resta de mètodes de la classe Llista i un programa principal que processa línies d’enters amb els que crea llistes i desprès crida el mètode duplica_parells_elimina_senars.
Entrada
L’entrada conté vàries línies formades per seqüències d’enters. Cadascuna d’elles són els elements que tindrà cada llista.
Sortida
Per a cada línia d’entrada, escriu una línia amb el resultat desprès d’haver duplicat els elements parells i eliminat els elements senars de la llista: El nombre d’elements de la llista seguit d’un espai, els elements de la llista entre claudàtors i separats per espais, i finalment aquests mateixos elements però amb ordre invers, també entre claudàtors i separats per espais.
Observació
Cal enviar la solució (el fitxer solution.cpp) comprimida en un fitxer .tar:
tar cvf solution.tar solution.cpp
Només cal enviar la implementació del mètode duplica_parells_elimina_senars. Segueix estrictament la definició de la classe de l’enunciat.
Input
2 3 0 5 -2
Output
6 [2 2 0 0 -2 -2] [-2 -2 0 0 2 2]
Input
2 -6 4 0 8 2 2 -6 3 0 8 2
Output
12 [2 2 -6 -6 4 4 0 0 8 8 2 2] [2 2 8 8 0 0 4 4 -6 -6 2 2] 10 [2 2 -6 -6 0 0 8 8 2 2] [2 2 8 8 0 0 -6 -6 2 2]
Input
-3 6 8 0 4 2 -5 -3 -1 8 0 4 -1 -5 -3 -1 7 9 3 -1 -5
Output
10 [6 6 8 8 0 0 4 4 2 2] [2 2 4 4 0 0 8 8 6 6] 6 [8 8 0 0 4 4] [4 4 0 0 8 8] 0 [] []
Input
Output
0 [] []
Input
0 3 -3 2
Output
2 [0 0] [0 0] 0 [] [] 0 [] [] 2 [2 2] [2 2]
Input
0 0 -3 -5 8 3 3 8
Output
4 [0 0 0 0] [0 0 0 0] 0 [] [] 2 [8 8] [8 8] 2 [8 8] [8 8]