Представьте себе следующие 24-часовые часы, которыми можно управлять с помощью клавиш со стрелками:
╔══╗ ┌──┐
║00║:│00│
╚══╝ └──┘
HH mm
Двойное нажатие стрелки вверх ( ↑↑
) увеличит текущее значение часа:
╔══╗ ┌──┐
║02║:│00│
╚══╝ └──┘
HH mm
Нажатие стрелки вправо ( →
) сфокусирует другой вход.
┌──┐ ╔══╗
│02│:║00║
└──┘ ╚══╝
HH mm
Нажатие стрелки вниз трижды ( ↓↓↓
) теперь уменьшит этот ввод.
┌──┐ ╔══╗
│02│:║57║
└──┘ ╚══╝
HH mm
Коротко говоря:
- Стрелка вверх (
↑
) увеличивает текущий активный вход. - Стрелка вниз (
↓
) уменьшит активный вход. - Стрелка вправо (
→
) переместит фокус на правый вход. - Стрелка влево (
←
) переместит фокус на левый вход. - Движение вверх и вниз зациклится, как и ожидалось, для ввода времени.
- Левое и правое движение не вращаются вокруг.
Соревнование
Часы запускаются 00:00
с активным входом часа (см. Первую схему). Учитывая список команд ввода, выведите полученное время в HH:mm
формате.
Ввод может быть либо строкой, либо списком (или вашим языковым эквивалентом), где разные направления ввода могут быть одним из следующих параметров:
↑↓←→
udlr
^v<>
- фактические нажатия клавиш со стрелками, если ваша программа имеет графический интерфейс
Применяются стандартные лазейки.
Контрольные примеры
↑↑→↓↓↓ = 02:57
↓→↑←↑→↓ = 00:00
↓→→↓ = 23:59
←←←←→↑ = 00:01
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓→↓ = 23:59
0123
), значительно упростит задачу в некоторых языках, но не принесет пользы другим.