Pannenkoek2012 стремится завершить Super Mario 64 с минимальным количеством нажатий кнопки A, что заставляет Mario прыгать. Каждый «Пресс» состоит из трех частей:
- Нажатие кнопки
- Держать его в течение любого промежутка времени
- Выпуская это
Посмотрите это видео (1:15 - 3:23) для лучшего объяснения, которое включает в себя изображение выше. (Тем не менее, эта задача не будет использовать терминологию полу-пресса и создаст препятствия, которые требуют освобождения А.)
Задача:
Учитывая последовательность препятствий, требующих нажатия (P), удерживания (H) или отпускания (R) кнопки A, выведите наименьшее количество нажатий, необходимых для их преодоления, в указанном порядке. Кнопка А изначально не удерживается.
Сформулируем формально: учитывая строку символов S PHR
, рассмотрим строки формы, (PH*R)*
которые содержат S как подпоследовательность, и выведите наименьшее возможное число P
's в такой строке. Или, в качестве альтернативы, найдите наименьшее количество кусков в форме, на P?H*R?
которые можно разбить S.
пример
Давайте посмотрим на вход RHRPHHHR
. Кнопка A начинает не удерживаться, поэтому для преодоления начального препятствия R
необходимо нажать и отпустить кнопку (нажмите # 1). Затем мы должны удерживать кнопку H
, которая снова требует, чтобы она сначала была нажата (нажмите # 2). Затем он может быть затем отпущен для удовлетворения R
после него. Наконец, оставшиеся PHHHR
могут быть удовлетворены с помощью одного нажатия (нажмите # 3), а затем удерживая HHH
и отпуская R
. Итак, количество выводов равно 3.
Другой способ увидеть это, это то, что мы можем разбить входную строку на 3 части формы, PHH..HHR
где буквы могут быть опущены.
R
HR
PHHHR
Формат ввода
Входными данными будет список или строка элементов, представляющих нажатия, удержания и отпускания по вашему выбору:
P, H, R
p, h, r
1, 2, 3
0, 1, 2
соответствует в указанном порядке. Ввод не будет пустым.
Тестовые случаи:
P 1
H 1
R 1
HP 2
RHP 3
HHR 1
PHRH 2
RHRPHHHR 3
HHHHHH 1
PPRRHHPP 6
HPPRHRPRHPPRHPPHRP 12
PRHRHPHHPRRRHPPRHHPPRRRHRHPRPHPRPRHHRPPPRHPRP 28
Leaderboard: