Muchos relojes digitales muestran la hora utilizando dígitos simplificados que constan de solo siete luces diferentes que están encendidas o apagadas:
Cuando se refleja horizontalmente, los dígitos 018no cambian porque son simétricos. Además, los dígitos 2y 5se intercambian, 2convirtiéndose 5y viceversa. Todos los demás dígitos se vuelven inválidos cuando se reflejan.
Por lo tanto, dado un reloj digital de 24 horas, hay muchas lecturas de reloj de tal manera que la imagen reflejada de la pantalla digital también es una lectura de reloj válida. Su tarea es generar todas esas lecturas de reloj junto con las lecturas reflejadas.
Por ejemplo, se 22:21vuelve 15:55y se 00:15vuelve 21:00. Por otro lado, 12:34o 16:27ya no son válidos cuando se refleja (cifras 34679dejan de ser válidas), y tampoco lo son 22:22o 18:21, porque, como sólo hay 24 horas en un día y 60 minutos en una hora, no había reloj en su sano juicio visualizar 55:55o 12:81.
Tarea
Escriba un programa o una función que no ingrese y genere todos los pares válidos en orden ascendente como se muestra a continuación:
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
Se permite una nueva línea al final o al final. Tener algunos espacios directamente antes de un salto de línea también está permitido. Los tiempos deben estar en formato hh:mm, rellenados con ceros cuando sea necesario.
Este es el código de golf , por lo que gana la respuesta más corta en bytes. Como de costumbre, las lagunas estándar no están permitidas.
1no es exactamente idéntico a su imagen especular porque puede saber si los segmentos más a la derecha o más a la izquierda se usan para formar la "línea" vertical que constituye el dígito. Entiendo que los consideramos idénticos aquí.
1podría centrarse.

Stringes una matriz deChar. ¿Es aceptable si mi respuesta da una lista deChar? Los tipos se ven idénticos cuando se imprimen desnudos.