Sử dụng một ngôn ngữ lập trình, viết 5 chương trình một dòng, mỗi chương trình tạo ra một dòng khác nhau của câu thơ đầu tiên cho bài hát " Dừa " năm 1972 của Harry Nilsson khi chạy riêng lẻ:
Anh mua một quả dừa, anh đã mua nó cho một xu
Em gái anh có người khác, mẹ mua nó cho một vôi
Cô đưa vôi trong dừa, cô đã uống cả hai lên
Cô đưa vôi trong dừa, cô đã uống cả hai lên
Cô bỏ vôi vào dừa, cô uống cả hai
3 dòng cuối cùng có cùng lời bài hát, vì vậy 3 chương trình cuối cùng của bạn cũng có thể như vậy.
Có 5 giai thừa hoặc 120 cách mà 5 chương trình một dòng này có thể được sắp xếp một trên mỗi dòng trong một chương trình 5 dòng đơn. Bạn phải tối ưu hóa các chương trình một dòng của mình sao cho càng nhiều trong số 120 kết hợp này càng tốt, chương trình 5 dòng sẽ xuất ra toàn bộ câu theo thứ tự đúng , chính xác như nó xuất hiện ở trên.
Thí dụ
Câu trả lời đơn giản nhất sẽ có 5 câu lệnh in đơn, 3 câu cuối giống hệt nhau:
print('Brother bought a coconut, he bought it for a dime')
print('His sister had another one, she paid it for a lime')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')
Đầu ra cho các chương trình 5 dòng sẽ là câu thơ theo đúng thứ tự của nó miễn là hai lớp đơn đầu tiên ở đúng vị trí của chúng. Chỉ có 6 trong số 120 sự sắp xếp có thể thực hiện được điều này.
Chấm điểm
Việc nộp với các trường hợp làm việc nhất trong số tất cả 120 chiến thắng. Tie breaker đi đến tập hợp các chương trình có số byte tích lũy thấp nhất (dòng mới không được tính). Ví dụ này có 309 byte.
Chi tiết
Chương trình của bạn có thể không đọc mã nguồn của riêng họ. Họ cũng không nên đọc các tệp bên ngoài khác hoặc yêu cầu kết nối mạng.
Đầu ra cho thiết bị xuất chuẩn hoặc thay thế gần nhất. Bạn cũng có thể xuất ra một tệp có tên bạn chọn.
"Các chương trình một dòng" là các chuỗi chứa bất kỳ ký tự nào ngoại trừ các đầu cuối dòng (có lẽ bạn chỉ cần lo lắng về các dòng mới).
Khi kết hợp các lớp lót đơn vào 5 lớp, bạn nên thêm chính xác 4 dòng mới, một dòng giữa mỗi cặp lớp lót liền kề. Bạn có thể tùy chọn thêm một dòng mới.
main
phương thức? Vậy thì nên chạy chương trình nào, khi chạy chương trình?
main
.