Esistono molti enigmi con partite che prevedono l'aggiunta, la rimozione o lo spostamento di un certo numero di partite per creare nuovi numeri o forme. È così con un orologio digitale.
Dato un tempo valido su un orologio digitale di 12 ore, emetti la cifra che richiede di spostare il minor numero di linee per renderla tale che ogni cifra visibile sull'orologio diventa quella cifra. Se più di una cifra è il minimo, emetterle tutte. Se è impossibile rendere ogni cifra uguale, l'output -1
o un valore errato diverso da 0 (ne otterrai molti).
Le cifre dell'orologio assomigliano a questo:
|
|
_
_|
|_
_
_|
_|
|_|
|
_
|_
_|
_
|_
|_|
_
|
|
_
|_|
|_|
_
|_|
_|
_
| |
|_|
Casi test:
Ingresso: 123
Visualizzazione dell'orologio:
_ _
| : _| _|
| : |_ _|
Produzione: 4
Spiegazione: Il display per 1:23
richiede un totale di 12 linee da disegnare. Pertanto, affinché ogni cifra sia la stessa, ogni cifra dovrebbe avere 4 righe. L'unica cifra che ha 4 righe è 4
. Pertanto, la risposta deve essere 4
.
Ingresso: 1212
Visualizzazione dell'orologio:
_ _
| _| : | _|
| |_ : | |_
Produzione: -1
Spiegazione: Il display per 12:12
richiede 14 righe. 14 diviso 4 non è un numero intero, pertanto è impossibile che ogni cifra sia la stessa.
Ingresso: 654
Visualizzazione dell'orologio:
_ _
|_ : |_ |_|
|_| : _| |
Produzione: 5
Spiegazione: Il numero totale di righe è 15. 15 diviso 3 è 5, quindi ogni cifra deve avere 5 righe. Le uniche cifre che hanno 5 linee sono 2
, 3
e 5
. La risposta è 5
perché sono necessarie solo 2 mosse per effettuare ogni cifra 5. Basta spostare la linea in basso a sinistra del 6 in fondo al 4, quindi hai:
_ _
|_ : |_ |_|
_| : _| _|
Quindi, come puoi vedere, tutto ciò che devi fare è spostare la linea in alto a destra della cifra che originariamente era 4 in alto e ottieni 5:55
. Per rendere ogni cifra una 2
o 3
richiederebbe più di 2 mosse.
Ingresso: 609
Visualizzazione dell'orologio:
_ _ _
|_ : | | |_|
|_| : |_| _|
Uscita: 609
( 6,0,9
o [6,0,9]
anche ok).
Spiegazione: 6
, 0
, e 9
sono le uniche cifre che hanno 6 linee. Come tali, sono anche le uniche soluzioni possibili. Non è difficile vedere che sarebbero necessarie due mosse per rendere una di queste cifre l'unica cifra. Pertanto, vengono emesse tutte e tre le cifre.
Appunti:
- Sebbene il tempo di input debba essere valido, il tempo di output no (ad es.
999
Poiché un output è OK). - Sono molto flessibile con l'input. È possibile richiedere un 0. iniziale È possibile utilizzare un numero con un punto decimale. Puoi usare una stringa. È possibile utilizzare un array. Puoi avere un parametro per ogni cifra.