Naprawdę lubię czasy, które podążają za pewnymi wzorami. W szczególności lubię czasy, w których wszystkie cyfry są takie same lub gdy wszystkie cyfry zwiększają się arytmetycznie o jeden od lewej do prawej. Co więcej, nienawidzę z pasją, kiedy ludzie wkładają listy w moje czasy, więc wszystkie te bzdury AM / PM są dla mnie martwe. Tak więc moje ulubione czasy to:
0000 0123 1111 1234 2222 2345
Dla spokoju ducha potrzebuję, żebyś napisał mi pojedynczy program, który biorąc pod uwagę aktualny czas jako dane wejściowe, oba: (A) jeśli nie jest to teraz jeden z moich ulubionych czasów, mówi mi oba (i) ile minut to jest był od mojego ostatniego ulubionego czasu, a także (ii) ile minut od teraz nastąpi mój następny ulubiony czas; i (B) jeśli jest to teraz jeden z moich ulubionych czasów, dostarcza pojedynczą „wartość sygnału”.
Wejście
Twój program powinien zaakceptować (dowolną metodą: argument funkcji, argument stdin
wiersza poleceń itp.) Bieżący czas, w dowolnym z następujących formatów:
Czterocyfrowy czas jako ciąg
Liczba całkowita, która może być zerowana po lewej stronie, aby utworzyć czterocyfrowy czas jako ciąg
Sekwencja czterech (lub mniej) liczb całkowitych, uporządkowana w taki sposób, że pierwsza liczba całkowita w sekwencji jest lewą (znaczącą) cyfrą na wejściu czasu (np.
0951
Może być poprawnie reprezentowana jako[0, 9, 5, 1]
lub[9, 5, 1]
)0000
Dopuszczalna jest reprezentacja jako sekwencja zerowej długości
W przypadku łańcucha wejściowego powinien on zawierać tylko cyfry, bez dwukropków i innych znaków interpunkcyjnych. Można założyć, że dane wejściowe będą zawsze ważne 24-godzinne:, HHMM
gdzie 0 <= HH <= 23
i 0 <= MM <= 59
. Pomiń możliwość skoku sekund.
Wynik
Twój program musi podać (wszystkie funkcje stdout
są w porządku) (A) lub (B) , odpowiednio do tego, czy wartość wejściowa jest czasem docelowym.
Dla):
Podaj dwie wartości liczbowe w dowolnym rozsądnym formacie, takie jak:
Wyjście jednołańcuchowe z odpowiednim ogranicznikiem
Sekwencyjne wyjścia liczb całkowitych / ciągów, np.
bash
Drukowanie dwóch linii dostdout
:49 34
Dwie zwrócone wartości długości, takie jak lista Python, tablica C itp .:
[49, 34]
Wartości mogą występować w dowolnej kolejności. Na przykład oba poniższe parametry byłyby poprawnymi danymi wyjściowymi dla danych wejściowych 1200
:
49 34
34 49
Jednak kolejność i separator muszą być takie same dla wszystkich wartości wejściowych!
Dla (B):
Wywołaj jakikolwiek inny nieosiągalny wynik. Ten sam wynik należy jednak uzyskać dla wszystkich sześciu czasów docelowych. Nieskończone pętle są wykluczone.
Przykładowe wejścia / wyjścia
YAY!!!
jest tu wykorzystywany jako przykład demonstracyjny i nie ma charakteru nakazowego.
Input Output
------ --------
0000 YAY!!!
0020 20 63
0105 65 18
0122 82 1
0123 YAY!!!
0124 1 587
0852 449 139
1111 YAY!!!
1113 2 81
1200 49 34
1234 YAY!!!
1357 83 505
1759 325 263
1800 326 262
1801 327 261
2222 YAY!!!
2244 22 61
2345 YAY!!!
2351 6 9
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach. Standardowe luki są niedozwolone.