La mia sveglia
Sono americano, così come la mia sveglia (digitale). Per impostare la sveglia, inizia nel momento precedente. Premendo il pulsante dell'ora lo si sposta di un'ora in su, e premendo il pulsante dei minuti lo si sposta di un minuto. Se si premono entrambi i pulsanti contemporaneamente, questo viene ripristinato a mezzanotte (12:00 am) e conta come due pressioni di pulsanti.
Quando le ore superano il loro limite (12), si reimposta su 1 e attiva / disattiva la luce AM / PM. Quando i minuti superano il limite massimo (59), vengono reimpostati su 0, senza influire sulle ore.
L'obiettivo
Il tuo compito è, dato un orario di inizio e un tempo target, di emettere il numero ottimale di pressioni di pulsanti necessarie per impostare la mia sveglia sull'ora target.
Puoi ricevere input in qualunque formato ti si adatti meglio. Gli unici dati di cui il tuo programma dovrebbe avere bisogno sono ore e minuti, per entrambi gli input. Ciò significa che, ad esempio, è possibile prendere i dati in millisecondi dall'epoca ed estrarre ore e minuti, ma non è possibile codificare nulla in anno, mese, secondo, ecc. Si noti che mentre è possibile, ad esempio, inserire utilizzando "tempo militare" (o orario normale per la maggior parte del mondo), ma ciò non cambia il funzionamento del mio orologio.
Esempi
1:15 pm -> 2:30 am
È possibile premere entrambi i pulsanti verso il basso per reimpostare alle 12:00, quindi aumentare fino alle 2:30 del mattino, ovvero la 2+2+30 = 34
pressione dei pulsanti. Potresti anche aumentare alle 2:30 del mattino, che sarebbe la 13+15 = 28
pressione dei pulsanti. Pertanto, il tuo output è 28
.
3:58 am -> 4:02 am
È possibile ripristinare e incrementare, che sarebbe la 2+4+2 = 8
pressione dei pulsanti. Potresti anche incrementare, che sarebbe la 1+4 = 5
pressione dei pulsanti. Pertanto, il tuo output è 5
.
10:55 pm -> 1:00 am
È possibile ripristinare e incrementare, che sarebbe la 2+1 = 3
pressione dei pulsanti. Potresti anche incrementare, che sarebbe la 3+5=8
pressione dei pulsanti. Pertanto, il tuo output è 3
.
1:00 am -> 1:59 pm
È possibile ripristinare e incrementare, ma sarebbero tre ulteriori pressioni rispetto al solo incremento. Pertanto, il tuo output è 12+59 =
71
.
Casi test
Current Target = Output
1:15pm 2:30am = 28
3:58am 4:02am = 5
10:55pm 1:00am = 3
1:00am 1:59pm = 71
12:00am 12:00am = 0
6:51pm 12:00am = 2
2:01pm 11:00pm = 25
2:01pm 11:01pm = 9
12:59am 12:01am = 2
11:50am 12:00pm = 11