Immagina il seguente orologio di 24 ore che può essere controllato con i tasti freccia:
╔══╗ ┌──┐
║00║:│00│
╚══╝ └──┘
HH mm
Premendo due volte la freccia su ( ↑↑) si aumenterà l'immissione dell'ora attualmente focalizzata:
╔══╗ ┌──┐
║02║:│00│
╚══╝ └──┘
HH mm
Premendo la freccia destra ( →) si focalizzerà l'altro input.
┌──┐ ╔══╗
│02│:║00║
└──┘ ╚══╝
HH mm
Premendo tre volte la freccia giù ( ↓↓↓), questo input diminuirà.
┌──┐ ╔══╗
│02│:║57║
└──┘ ╚══╝
HH mm
In breve:
- La freccia su (
↑) aumenterà l'ingresso attualmente attivo. - La freccia giù (
↓) diminuirà l'ingresso attivo. - La freccia destra (
→) sposta lo stato attivo sull'input corretto. - La freccia sinistra (
←) sposta lo stato attivo sull'ingresso sinistro. - Il movimento su e giù si ripeterà come previsto per un input di tempo.
- Il movimento sinistro e destro non si aggira intorno.
La sfida
L'orologio inizia alle 00:00con l'ingresso dell'ora attivo (vedi primo schema). Dato un elenco di comandi di input, visualizza il tempo risultante nel HH:mmformato.
L'input può essere una stringa o un elenco (o l'equivalente della lingua), in cui le diverse direzioni di input possono essere una delle opzioni seguenti:
↑↓←→udlr^v<>- il tasto freccia effettivo preme se il programma ha una GUI
Si applicano scappatoie standard.
Casi test
↑↑→↓↓↓ = 02:57
↓→↑←↑→↓ = 00:00
↓→→↓ = 23:59
←←←←→↑ = 00:01
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓→↓ = 23:59

0123) renderebbe la sfida molto più semplice in alcune lingue senza giovare ad altre.