Đối với lịch Gregorian, định dạng ngày thay đổi từ quốc gia này sang quốc gia khác. Có ba định dạng chính được công nhận:
YY-MM-DD
(đại gia)DD-MM-YY
(người cuối cùng)MM-DD-YY
(trung niên)
Nhiệm vụ của bạn là viết một chương trình, đưa ra một chuỗi đầu vào đại diện cho một ngày, xuất ra tất cả các định dạng ngày có thể mà chuỗi này có thể được hiểu là một ngày.
Quy tắc
- Ngày đầu vào có định dạng
xx-xx-xx
, trong đó mỗi trường có hai chữ số và không có đệm. - Ngày luôn hợp lệ (vì vậy bạn không thể có được những thứ như 14-13-17)
- Ngày luôn có ít nhất một trong các định dạng ở trên (vì vậy bạn không thể có được những thứ như 17-14-11)
- Bởi vì thực tế chúng ta đang ở trong một thế giới song song, có 31 ngày cho mỗi tháng trong năm và do đó không có năm nhuận
- Ngày từ ngày 1 tháng 1 năm 2001 đến ngày 31 tháng 12 năm 2099
- Nếu chỉ có một định dạng cho ngày, mã phải chỉ in nó (chỉ cho phép các dòng mới theo dõi)
- Nếu có một vài định dạng cho ngày, chúng phải được phân tách bằng dấu phẩy, dấu cách, dòng mới hoặc kết hợp cả hai định dạng
- Bạn phải xuất tên chính xác của định dạng. Sử dụng các giá trị tùy ý riêng biệt không được phép.
- Không cho phép các ký tự đầu hoặc cuối khác ngoài khoảng trắng ở cuối
- Đầu ra phải là chữ thường
- Bạn không được phép sử dụng bất kỳ chức năng ngày hoặc lịch tích hợp nào
- Các định dạng đầu ra không phải được sắp xếp
Ví dụ
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
Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng. Giải thích được khuyến khích.
there are 31 days for every month of the year, and consequently no leap years
Vì vậy, điều này có nghĩa là bất kỳ thư viện ngày là vô dụng cho việc này sau đó?