Представьте себе следующие 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), значительно упростит задачу в некоторых языках, но не принесет пользы другим.