Donada la classe Llista que permet guardar seqüències d’enters amb una llista simplement encadenada, sense fantasma i no circular, cal implementar el mètode
que duplica els elements positius i elimina els elements negatius del paràmetre implícit.
Cal enviar a jutge.org només la implementació del mètode duplica_positius_elimina_negatius. Al principi del mètode implementat, dins d’un comentari, cal indicar el cost temporal amb el raonament corresponent, incloent l’equació de la recurrència si fos necessari. 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_positius_elimina_negatius.
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 positius i eliminat els elements negatius de la llista: El nombre d’elements de la llista seguit d’un espai i dels elements de la llista 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_positius_elimina_negatius. Segueix estrictament la definició de la classe de l’enunciat.
Al principi del mètode implementat, dins d’un comentari, cal indicar el cost temporal amb el raonament corresponent, incloent l’equació de la recurrència si fos necessari.
Input
0 3 -6 8 0 4 -2 0
Output
9 [0 3 3 8 8 0 4 4 0]
Input
3 -6 8 0 4 -2 5 3 6 -8 0 -4 2 5
Output
9 [3 3 8 8 0 4 4 5 5] 9 [3 3 6 6 0 2 2 5 5]
Input
-3 6 8 0 4 2 -5 -3 -6 8 0 4 -2 -5
Output
9 [6 6 8 8 0 4 4 2 2] 5 [8 8 0 4 4]
Input
Output
0 []
Input
0 3 -3
Output
1 [0] 2 [3 3] 0 []
Input
0 0 -3 -5 3 5 -3 5 3 -5 3 0 0 3 -5 0 0 -5
Output
2 [0 0] 0 [] 4 [3 3 5 5] 2 [5 5] 2 [3 3] 3 [3 3 0] 3 [0 3 3] 1 [0] 1 [0]