Wiele zegarów cyfrowych wyświetla czas za pomocą uproszczonych cyfr składających się tylko z siedmiu różnych lampek, które są włączone lub wyłączone:
Po odbiciu w poziomie cyfry 018
nie zmieniają się, ponieważ są symetryczne. Również cyfry 2
i 5
zamień się, 2
stając się 5
i odwrotnie. Wszystkie pozostałe cyfry stają się nieprawidłowe po odbiciu lustrzanym.
Tak więc, biorąc pod uwagę 24-godzinny zegar cyfrowy, istnieje wiele odczytów tak, że lustrzany obraz wyświetlacza cyfrowego jest również prawidłowym odczytem zegara. Twoim zadaniem jest wyprowadzenie wszystkich takich odczytów zegara wraz z odczytami lustrzanymi.
Na przykład 22:21
staje się 15:55
i 00:15
staje 21:00
. Z drugiej strony, 12:34
lub 16:27
nie są już ważne, gdy są dublowane (cyfry 34679
stają się nieważne), i nie są 22:22
ani 18:21
, ponieważ, ponieważ są tylko 24 godziny na dobę i 60 minut na godzinę, żaden rozsądny zegar nie wyświetli się 55:55
lub 12:81
.
Zadanie
Napisz program lub funkcję, która nie pobiera danych wejściowych i wyświetla wszystkie prawidłowe pary w porządku rosnącym, jak pokazano poniżej:
00:00 - 00:00
00:01 - 10:00
00:05 - 20:00
00:10 - 01:00
00:11 - 11:00
00:15 - 21:00
00:20 - 05:00
00:21 - 15:00
00:50 - 02:00
00:51 - 12:00
00:55 - 22:00
01:00 - 00:10
01:01 - 10:10
01:05 - 20:10
01:10 - 01:10
01:11 - 11:10
01:15 - 21:10
01:20 - 05:10
01:21 - 15:10
01:50 - 02:10
01:51 - 12:10
01:55 - 22:10
02:00 - 00:50
02:01 - 10:50
02:05 - 20:50
02:10 - 01:50
02:11 - 11:50
02:15 - 21:50
02:20 - 05:50
02:21 - 15:50
02:50 - 02:50
02:51 - 12:50
02:55 - 22:50
05:00 - 00:20
05:01 - 10:20
05:05 - 20:20
05:10 - 01:20
05:11 - 11:20
05:15 - 21:20
05:20 - 05:20
05:21 - 15:20
05:50 - 02:20
05:51 - 12:20
05:55 - 22:20
10:00 - 00:01
10:01 - 10:01
10:05 - 20:01
10:10 - 01:01
10:11 - 11:01
10:15 - 21:01
10:20 - 05:01
10:21 - 15:01
10:50 - 02:01
10:51 - 12:01
10:55 - 22:01
11:00 - 00:11
11:01 - 10:11
11:05 - 20:11
11:10 - 01:11
11:11 - 11:11
11:15 - 21:11
11:20 - 05:11
11:21 - 15:11
11:50 - 02:11
11:51 - 12:11
11:55 - 22:11
12:00 - 00:51
12:01 - 10:51
12:05 - 20:51
12:10 - 01:51
12:11 - 11:51
12:15 - 21:51
12:20 - 05:51
12:21 - 15:51
12:50 - 02:51
12:51 - 12:51
12:55 - 22:51
15:00 - 00:21
15:01 - 10:21
15:05 - 20:21
15:10 - 01:21
15:11 - 11:21
15:15 - 21:21
15:20 - 05:21
15:21 - 15:21
15:50 - 02:21
15:51 - 12:21
15:55 - 22:21
20:00 - 00:05
20:01 - 10:05
20:05 - 20:05
20:10 - 01:05
20:11 - 11:05
20:15 - 21:05
20:20 - 05:05
20:21 - 15:05
20:50 - 02:05
20:51 - 12:05
20:55 - 22:05
21:00 - 00:15
21:01 - 10:15
21:05 - 20:15
21:10 - 01:15
21:11 - 11:15
21:15 - 21:15
21:20 - 05:15
21:21 - 15:15
21:50 - 02:15
21:51 - 12:15
21:55 - 22:15
22:00 - 00:55
22:01 - 10:55
22:05 - 20:55
22:10 - 01:55
22:11 - 11:55
22:15 - 21:55
22:20 - 05:55
22:21 - 15:55
22:50 - 02:55
22:51 - 12:55
22:55 - 22:55
Końcowy lub wiodący nowy wiersz jest dozwolony. Dozwolone jest także posiadanie kilku spacji bezpośrednio przed przesunięciem linii. Czasy muszą być w formacie hh:mm
, w razie potrzeby uzupełnione zerami.
To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach. Jak zwykle standardowe luki są niedozwolone.
1
nie jest dokładnie identyczna z odbiciem lustrzanym, ponieważ można stwierdzić, czy segmenty znajdujące się najbardziej po prawej, czy te znajdujące się po lewej stronie tworzą pionową „linię”, która składa się na cyfrę. Rozumiem, że uważamy je tutaj za identyczne.
1
można je było wyśrodkować.
String
jest tablicąChar
. Jest to dopuszczalne, jeśli moja odpowiedź daje listy zChar
? Typy wyglądają identycznie po wydrukowaniu gołą czcionką.