Ich mag es buchstäblich, Zeit zu sparen, indem ich drei Uhren an meinem Handgelenk trage ... Das Problem ist, dass sie jeweils eine andere Zeit angeben. Eine Uhr ist x Minuten hinter der tatsächlichen Zeit. Eine Uhr ist der tatsächlichen Zeit x Minuten voraus. Die letzte Uhr zeigt die aktuelle Uhrzeit.
Das Problem ist, ich kann nicht sagen, welche Uhr die richtige Zeit hat ...
Bestimmen Sie anhand der auf jeder Uhr angezeigten Uhrzeit die tatsächliche Uhrzeit. Wenn es nicht möglich ist, die Uhrzeit zu bestimmen, drucken Sie "Look at the sun".
Eingabe:
Drei Messwerte, getrennt durch einzelne Leerzeichen: H1:M1 H2:M2 H3:M3
In jedem Messwert stehen H1, H2, H3 für die angezeigten Stunden (0 <H1, H2, H3 <13) und M1, M2, M3 für die angezeigten Minuten (0 <= M1) , M2, M3 <60). Wenn die Anzahl der Minuten kleiner als 10 ist, wird der Eingabe eine führende 0 vorangestellt. Ist die Stundenzahl gleichermaßen kleiner als 10, wird der Eingabe eine führende 0 vorangestellt.
Ausgabe: The correct time is HH:MM
wobei HH: MM die richtige Zeit ist. Wenn keine korrekte Uhrzeit ermittelt werden kann, wird diese angezeigt Look at the sun
.
Eingang 1: 05:00 12:00 10:00
Ausgang 1: The correct time is 05:00
Eingang 2: 11:59 12:30 01:01
Ausgang 2: The correct time is 12:30
Eingang 3: 12:00 04:00 08:00
Ausgang 3: Look at the sun
Kürzester Code gewinnt ... Es gelten keine besonderen Strafen. Denken Sie auch daran, dass es sich um eine 12-Stunden-Uhr handelt ... mir sind AM oder PM egal ... Stellen Sie sich vor, wir haben es mit analogen Uhren zu tun ...
12:00
ist genau zwischen8:00
und4:00
zu, wissen Sie ...The correct time is HH:MM
ohne Punkt, schließen jedoch in den ersten beiden Beispielen einen Punkt ein. Welche Version ist richtig?whattimeisit 07:21 08:39 08:00
? Sicher!Antworten:
CJam,
8683777571 BytesVielen Dank an @ jimmy23013 für das Abwerfen von 6 Bytes aus meinem Code.
Probieren Sie es online im CJam-Interpreter aus .
Testfälle
Wie es funktioniert
quelle
qS/_':f/60fb_f{f-:+720%!,}\"The correct time is "f\2/.e&$("Look at the sun"@?
.b
impliziert:i
."The correct time is "lS/_':f/60fb:T.{Tf-:+720%{}@?}{];"Look at the sun"}*
.x = 0
.JavaScript ( ES6 ), 164
168 172Berechnen Sie für jeden Messwert den Abstand zwischen den beiden anderen. Derjenige, der den gleichen Abstand hat, ist das, was Sie brauchen. Wenn es mehr als eine gibt, kann man das nicht sagen.
quelle
Problem is they each give a different time
also kann x nicht 0 sein.edc65++
.Python 3,
166163 BytesVerwendet
mit arithmetik ist minuten modulo 720.
quelle
f
(und Pre-List-Comp ist lang)Python 2,
254...199207203194200 BytesWahrscheinlich ein paar Möglichkeiten, dies zu verkürzen, gib mir etwas Zeit ..
Dank Sp3000 kann ich das beheben.
quelle