Para los calendarios gregorianos, el formato de fecha varía de un país a otro. Hay tres formatos principales reconocidos:
YY-MM-DD
(big-endian)DD-MM-YY
(little-endian)MM-DD-YY
(endian medio)
Su tarea es escribir un programa que, dada una cadena de entrada que representa una fecha, genere todos los formatos de fecha posibles mediante los cuales esta cadena se puede interpretar como una fecha.
Reglas
- La fecha de entrada está en el formato
xx-xx-xx
, donde cada campo tiene dos dígitos y está rellenado con ceros. - La fecha siempre es válida (por lo que no puede obtener cosas como 14-13-17)
- La fecha siempre es al menos uno de los formatos anteriores (por lo que no puede obtener cosas como 17-14-11)
- Debido a que, de hecho, estamos en un mundo paralelo, hay 31 días para cada mes del año y, en consecuencia, no hay años bisiestos.
- La fecha es entre el 1 de enero de 2001 y el 31 de diciembre de 2099.
- Si solo hay un formato para la fecha, el código solo debe imprimirlo (solo se permiten líneas nuevas)
- Si hay varios formatos para la fecha, deben estar separados por una coma, un espacio, una nueva línea o una combinación de esos
- Debe generar los nombres exactos de los formatos. El uso de valores arbitrarios distintos no está permitido.
- No se permiten caracteres iniciales o finales que no sean un espacio final
- La salida debe estar en minúsculas
- No está permitido usar ninguna fecha incorporada o funciones de calendario
- Los formatos de salida no tienen que ser ordenados
Ejemplos
Input Output
30-05-17 big-endian, little-endian
05-15-11 middle-endian
99-01-02 big-endian
12-11-31 big-endian, little-endian, middle-endian
02-31-33 middle-endian
Este es el código de golf, por lo que gana el código más corto en bytes. Se alientan las explicaciones.
there are 31 days for every month of the year, and consequently no leap years
Entonces, ¿esto significa que cualquier biblioteca de fechas es efectivamente inútil para esto?