Gregoryen takvimler için tarih biçimi ülkeden ülkeye değişir. Tanınan üç ana biçim vardır:
YY-MM-DD(Big-endian)DD-MM-YY(Küçük endian)MM-DD-YY(Ara-endian)
Göreviniz, bir tarihi temsil eden bir giriş dizesi verildiğinde, bu dizenin tarih olarak yorumlanabileceği tüm olası tarih biçimlerini çıktılayan bir program yazmaktır.
kurallar
- Giriş tarihi,
xx-xx-xxher alanın iki basamaklı ve sıfır dolgulu olduğu biçimdedir . - Tarih her zaman geçerlidir (bu nedenle 14-13-17 gibi şeyler alamazsınız)
- Tarih her zaman yukarıdaki biçimlerden en az biridir (bu nedenle 17-14-11 gibi şeyler elde edemezsiniz)
- Aslında paralel bir dünyada olduğumuz için , yılın her ayı için 31 gün var ve bu nedenle artık yıllar yok
- Tarih 01 Ocak 2001 ve 31 Aralık 2099 arasında
- Tarih için yalnızca bir biçim varsa, kod yalnızca yazdırmalıdır (yalnızca son satırlara izin verilir)
- Tarih için çeşitli biçimler varsa, bunların virgülle, boşlukla, yeni satırla veya bunların birleşimiyle ayrılması gerekir.
- Biçimlerin tam adlarını vermelisiniz. Ayrı keyfi değerlerin kullanılmasına izin verilmez.
- Sondaki boşluktan başka önde gelen veya sondaki karakterlere izin verilmez
- Çıktı küçük harf olmalıdır
- Yerleşik tarih veya takvim işlevlerini kullanmanıza izin verilmiyor
- Çıktı biçimlerinin sıralanması gerekmez
Örnekler
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
Bu kod golf yani bayt en kısa kodu kazanır. Açıklamalar teşvik edilir.
there are 31 days for every month of the year, and consequently no leap yearsYani bu, herhangi bir tarih kütüphanesinin bunun için etkili bir şekilde yararsız olduğu anlamına mı geliyor?