Feu la funció recursiva
bool subPila (stack<int> p1, stack<int> p2)
tal que, donades dues piles d’enters, retorni true
(false altrament) si la segona pila és una
subpila de la primera pila.
Una pila p2 és una subpila de la pila
p1 si la pila p2 és una secció (elements
adjacents consecutius) de la pila p1. Una pila buida sempre
és subpila de qualsevol altra pila.
| 5 |
| 4 |
| 2 | .... | 2 |
| 3 | .... | 3 |
| 3 | .... | 3 |
| 10 | .... | 10 |
| 2 | .... | 2 |
| 9 | ------
| 2 | p2
| 3 |
| 4 |
| 5 |
------
p1
La funció rep dues piles d’enters.
true (false altrament) si la segona pila és
una subpila de la primera pila.
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar subPila.cpp
Observeu que per compilar us donem el Makefile, les
utilitats d’entrada/sortida de piles a utilitats.hpp, la
capçalera del mòdul funcional subPila.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 ja que l’enunciat del problema demana que la solució enviada sigui recursiva.
Input
5 4 3 2 1 8 7 5 4 3 -1 2 1 8 -1
Output
|3| |4| |5| |7| |8| |1| |2| |3| |4| |5| = |8| |1| |2| = sí
Input
5 4 3 2 1 8 7 5 4 3 -1 8 7 4 -1
Output
|3| |4| |5| |7| |8| |1| |2| |3| |4| |5| = |4| |7| |8| = no