J'aime gagner du temps littéralement, en portant trois montres à mon poignet ... Le problème est qu'elles donnent chacune un temps différent. Une montre a x minutes de retard par rapport à l'heure réelle. Une montre a x minutes d'avance sur l'heure réelle. La dernière montre montre l'heure actuelle.
Le problème est que je ne peux pas dire quelle montre a l'heure exacte ...
À partir de l'heure affichée sur chaque montre, déterminez l'heure réelle. S'il n'est pas possible de déterminer l'heure, imprimez "Regardez le soleil".
Entrée:
trois lectures, séparées par des caractères d'espacement simples: H1:M1 H2:M2 H3:M3
dans chaque lecture H1, H2, H3 représentent les heures affichées (0 <H1, H2, H3 <13) et M1, M2, M3 représentent les minutes affichées (0 <= M1 , M2, M3 <60). Si le nombre de minutes est inférieur à 10, un 0 de tête est ajouté en entrée. De même, si le nombre d'heures est inférieur à 10, un 0 en tête est ajouté en entrée.
Sortie: The correct time is HH:MM
où HH: MM est l'heure correcte. Si aucune heure correcte ne peut être déterminée, elle s'affiche Look at the sun
.
Entrée 1: 05:00 12:00 10:00
Sortie 1: The correct time is 05:00
Entrée 2: 11:59 12:30 01:01
Sortie 2: The correct time is 12:30
Entrée 3: 12:00 04:00 08:00
Sortie 3: Look at the sun
Le code le plus court gagne ... Aucune pénalité spéciale ne s'applique. Aussi, gardez à l'esprit que nous avons affaire à une horloge de 12 heures ... Je me fiche de AM ou PM ... Imaginez que nous ayons affaire à des montres analogiques ...
12:00
est exactement entre8:00
et4:00
aussi, vous savez ...The correct time is HH:MM
, sans point, mais continuez à inclure un point dans les deux premiers exemples. Quelle version est correcte?whattimeisit 07:21 08:39 08:00
? Sûr!Réponses:
CJam,
8683777571 octetsMerci à @ jimmy23013 d'avoir joué au golf à 6 octets de mon code.
Essayez-le en ligne dans l' interpréteur CJam .
Cas de test
Comment ça marche
la source
qS/_':f/60fb_f{f-:+720%!,}\"The correct time is "f\2/.e&$("Look at the sun"@?
.b
implique:i
."The correct time is "lS/_':f/60fb:T.{Tf-:+720%{}@?}{];"Look at the sun"}*
.x = 0
.JavaScript ( ES6 ), 164
168 172Pour chaque lecture, calculez la distance des deux autres. Celui qui a la même distance est ce dont vous avez besoin. S'il y en a plus d'un, alors vous ne pouvez pas le dire.
la source
Problem is they each give a different time
donc x ne peut pas être 0.edc65++
.Python 3,
166163 octetsLes usages
l'arithmétique étant les minutes modulo 720.
la source
f
(et la pré-liste est longue)Python 2,
254...199207203194 194200 octetsProbablement quelques façons de raccourcir cela, donnez-moi un peu de temps ..
Merci à Sp3000 de m'aider à résoudre ce problème.
la source