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 -1o 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:23richiede 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:12richiede 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, 3e 5. La risposta è 5perché 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 2o 3richiederebbe più di 2 mosse.
Ingresso: 609
Visualizzazione dell'orologio:
_ _ _
|_ : | | |_|
|_| : |_| _|
Uscita: 609( 6,0,9o [6,0,9]anche ok).
Spiegazione: 6, 0, e 9sono 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.
999Poiché 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.