Многие цифровые часы отображают время, используя упрощенные цифры, состоящие только из семи различных лампочек, которые либо включены, либо выключены:
При зеркальном отражении цифры 018
не меняются, потому что они симметричны. Также цифры меняются 2
и 5
меняются местами, 2
становятся 5
и наоборот. Все остальные цифры становятся недействительными при отражении.
Таким образом, при наличии 24-часовых цифровых часов имеется много показаний часов, так что зеркальное изображение цифрового дисплея также является действительным показанием часов. Ваша задача - вывести все такие показания часов вместе с зеркальными показаниями.
Например, 22:21
становится 15:55
и 00:15
становится 21:00
. С другой стороны, 12:34
или 16:27
они больше не действительны при зеркальном отображении (цифры 34679
становятся недействительными), и ни один из них не является 22:22
или 18:21
, потому что, поскольку в дне всего 24 часа, а в часе 60 минут, нормальные часы не будут отображаться 55:55
или 12:81
.
задача
Напишите программу или функцию, которая не требует ввода и выводит все действительные пары в порядке возрастания, как показано ниже:
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
Трейлинг или ведущий перевод строки разрешены. Также допускается наличие нескольких пробелов непосредственно перед переводом строки. Время должно быть в формате hh:mm
, дополненном нулями при необходимости.
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах. Как обычно, стандартные лазейки запрещены.
1
не совсем совпадает с ее зеркальным отображением, потому что вы можете сказать, используются ли крайние правые сегменты или крайние левые сегменты для формирования вертикальной «линии», которая составляет цифру. Я понимаю, что мы считаем их идентичными здесь.
1
можно было центрировать.
String
это массивChar
. Приемлемо , если мой ответ дает список изChar
? Типы выглядят одинаково, когда напечатаны.