Meu despertador
Sou americano e meu despertador (digital) também. Para definir o alarme, ele inicia no momento em que estava anteriormente. Pressionar o botão da hora aumenta uma hora e pressionar o botão dos minutos aumenta um minuto. Pressionar os dois botões ao mesmo tempo o redefine para meia-noite (12:00) e conta como dois botões pressionados.
Quando as horas excedem o limite (12), ele é redefinido para 1 e alterna a luz AM / PM. Quando os minutos excedem o limite (59), eles são redefinidos para 0, sem afetar as horas.
A tarefa
Sua tarefa é, dada a hora de início e a hora prevista, produzir o número ideal de pressionamentos de botões necessários para definir meu alarme para a hora prevista.
Você pode receber informações no formato que melhor lhe convier. Os únicos dados que seu programa precisa são horas e minutos, para ambas as entradas. Isso significa que você, por exemplo, pode levar dados em milissegundos desde a época e extrair as horas e os minutos, mas você não pode codificar nada para o ano, mês, segundo, etc. Observe que enquanto você pode, por exemplo, inserir usando "horário militar" (ou horário regular para a maior parte do mundo), mas isso não muda o funcionamento do meu relógio.
Exemplos
1:15 pm -> 2:30 am
Você pode pressionar os dois botões para redefinir para 12:00 e depois aumentar para 2:30, o que seria 2+2+30 = 34
pressionamento de botão. Você também pode aumentar para 2h30, o que seria 13+15 = 28
pressionar o botão. Portanto, sua saída é 28
.
3:58 am -> 4:02 am
Você pode redefinir e incrementar, o que seria 2+4+2 = 8
pressionar o botão. Você também pode incrementar, o que seria 1+4 = 5
pressionar o botão. Portanto, sua saída é 5
.
10:55 pm -> 1:00 am
Você pode redefinir e incrementar, o que seria 2+1 = 3
pressionar o botão. Você também pode incrementar, o que seria 3+5=8
pressionar o botão. Portanto, sua saída é 3
.
1:00 am -> 1:59 pm
Você poderia redefinir e incrementar, mas seriam mais três impressoras do que apenas incrementar. Portanto, sua saída é 12+59 =
71
.
Casos de teste
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