pannenkoek2012 tiene como objetivo completar Super Mario 64 con tan pocas pulsaciones como sea posible del botón A, lo que hace que Mario salte. Cada "prensa A" consta de tres partes:
- Presionando el botón
- Sosteniéndolo por cualquier período de tiempo
- Soltándolo
Vea este video (1:15 - 3:23) para obtener una excelente explicación que incluye la imagen de arriba. (Sin embargo, este desafío no utilizará la terminología de media prensa y presentará obstáculos que requieren la liberación de A).
Tarea:
Dada una secuencia de obstáculos que requieren presionar (P), mantener presionado (H) o soltar (R) el botón A, genera la menor cantidad de presiones necesarias para superarlos en el orden dado. El botón A no se mantiene inicialmente.
Dicho formalmente: dada una cadena S de caracteres PHR
, considere cadenas de forma (PH*R)*
que contengan S como una subsecuencia, y genere el menor número posible de P
's en dicha cadena. O, alternativamente, encuentre el menor número de fragmentos de la forma en P?H*R?
que S se puede dividir.
Ejemplo
Veamos la entrada RHRPHHHR
. El botón A no se mantiene presionado, por lo que para superar el obstáculo inicial es R
necesario presionar el botón y luego soltarlo (presione # 1). A continuación, debemos mantener presionado el botón H
, que nuevamente requiere que primero se presione (presione # 2). Luego, se puede liberar luego para satisfacer el R
posterior. Finalmente, el resto PHHHR
puede satisfacerse presionando una vez (presione # 3) seguido de mantener HHH
y soltar R
. Entonces, el recuento de salida es 3.
Otra forma de verlo es que podemos dividir la cadena de entrada en 3 partes de forma PHH..HHR
donde se pueden omitir las letras.
R
HR
PHHHR
Formato de entrada
La entrada será una lista o cadena de elementos que representan presionar, mantener y soltar como su elección de:
P, H, R
p, h, r
1, 2, 3
0, 1, 2
emparejado en el orden dado. La entrada no estará vacía.
Casos de prueba:
P 1
H 1
R 1
HP 2
RHP 3
HHR 1
PHRH 2
RHRPHHHR 3
HHHHHH 1
PPRRHHPP 6
HPPRHRPRHPPRHPPHRP 12
PRHRHPHHPRRRHPPRHHPPRRRHRHPRPHPRPRHHRPPPRHPRP 28
Tabla de clasificación: