Per i calendari gregoriani, il formato della data varia da un paese all'altro. Sono riconosciuti tre formati principali:
YY-MM-DD(Big-endian)DD-MM-YY(Little-endian)MM-DD-YY(Middle-endian)
Il tuo compito è scrivere un programma che, data una stringa di input che rappresenta una data, emetta tutti i possibili formati di data con cui questa stringa può essere interpretata come una data.
Regole
- La data di input è nel formato
xx-xx-xx, in cui ogni campo è composto da due cifre e con zero. - La data è sempre valida (quindi non è possibile ottenere cose come 14-13-17)
- La data è sempre almeno uno dei formati sopra (quindi non puoi ottenere cose come 17-14-11)
- Poiché in realtà siamo in un mondo parallelo, ci sono 31 giorni per ogni mese dell'anno e, di conseguenza, nessun anno bisestile
- La data è compresa tra il 1 ° gennaio 2001 e il 31 dicembre 2099
- Se esiste un solo formato per la data, il codice deve stamparlo solo (sono consentite solo le nuove righe finali)
- Se esistono diversi formati per la data, devono essere separati da una virgola, uno spazio, una nuova riga o una combinazione di questi
- Devi generare il nome esatto del formato. L'uso di valori arbitrari distinti non è consentito.
- Non sono consentiti caratteri iniziali o finali diversi da uno spazio finale
- L'output deve essere in minuscolo
- Non è consentito utilizzare alcuna funzione di calendario o data integrata
- I formati di output non devono essere ordinati
Esempi
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
Questo è code-golf quindi vince il codice più breve in byte. Le spiegazioni sono incoraggiate.
there are 31 days for every month of the year, and consequently no leap yearsQuindi questo significa che qualsiasi libreria di date è effettivamente inutile per questo allora?