Escriviu el codi de l’acció recursiva concatena_piles que,
donades dues piles d’enters, deixi en una altra pila el resultat de
concatenar-les. Definim la concatenació de dues piles p i q com
posar la primera sobre la segona mantenint l’ordre dels elements, és a dir,
sense invertir-ne cap de les dues.
Per veure una figura amb les piles corresponents al primer exemple d’entrada-sortida dels jocs de prova públics, consulteu la versió pdf d’aquest enunciat.
Entrada
L’entrada conté varis blocs separats per línies amb 10 guions
(----------). Cada bloc consisteix en dues piles d’enters. Per cada
parell de piles s’introduiran, en aquest ordre, primer el nombre d’elements de
la primera pila i els enters de la primera pila, seguit del nombre d’elements
de la segona pila i els enters de la segona pila.
Per llegir les piles, s’ha utilitzat l’operador >> que es troba definit
en el mòdul stackIOint.
Sortida
Com a sortida es mostrarà, per cada parell de piles, les dues piles d’entrada i la pila resultant de la seva concatenació.
Per escriure les piles, s’ha utilitzat l’operador << que es troba
definit en el mòdul stackIOint.
Observació
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar pila_concatena.cpp
Observeu que per compilar us donem el Makefile, el mòdul
stackIOint, la capçalera del mòdul funcional pila_concatena.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
4 4 5 2 1 3 7 2 3 ---------- 0 3 7 2 3 ---------- 4 4 5 2 1 0
Output
pila 1: 1|2|5|4] pila 2: 3|2|7] pila concatenació: 1|2|5|4|3|2|7] pila 1: ] pila 2: 3|2|7] pila concatenació: 3|2|7] pila 1: 1|2|5|4] pila 2: ] pila concatenació: 1|2|5|4]