Như chúng ta đã biết, limericks là những bài thơ ngắn, năm dòng, đôi khi dâm dục với sơ đồ gieo vần AABBA và máy đo an-vơ (bất kể đó là gì):
Viết một
dòng vô lý của Limerick Dòng một và dòng năm vần trong từ
Và giống như bạn đã nghĩ
họ vần với dòng thứ hai
Dòng thứ tư phải vần với dòng thứ ba
Bạn có nhiệm vụ viết chương trình ngắn nhất , khi được cung cấp một văn bản đầu vào, sẽ in xem nó có cho rằng đầu vào là một giới hạn hợp lệ hay không. Đầu vào có thể nằm trên dòng lệnh hoặc thông qua đầu vào tiêu chuẩn, tùy chọn của bạn và đầu ra có thể là "Y" / "N" đơn giản hoặc điểm tin cậy, tùy theo lựa chọn của bạn.
Đây là một ví dụ khác về một limerick chính xác:
Có một cô gái trẻ có đôi mắt
độc đáo về màu sắc và kích thước
Khi cô ấy mở to,
mọi người quay sang một bên
và bắt đầu ngạc nhiên
Nhưng bài thơ dưới đây rõ ràng không phải là một đoạn giới hạn, vì nó không có vần:
Có một ông già của St. Bees,
người bị ong bắp cày đâm vào cánh tay.
Khi được hỏi, "Có đau không?"
Anh ta trả lời, "Không, không,
tôi rất vui vì đó không phải là một con ong bắp cày."
Cũng không phải cái này, vì đồng hồ là tất cả sai:
Tôi nghe nói về một người đàn ông đến từ Berlin,
người ghét căn phòng mà anh ta ở
khi tôi hỏi về lý do tại sao
anh ta sẽ nói với một tiếng thở dài:
"Chà, bạn thấy đấy, đêm qua có một vài tên trùm đầu đang ăn mừng con gấu chiến thắng World Cup, và họ rất ồn ào nên tôi không thể ngủ được vì bữa tối. "
Manh mối
Dưới đây là một số manh mối bạn có thể sử dụng để quyết định xem liệu đầu vào của bạn có phải là một limerick hay không:
- Limericks luôn dài năm dòng.
- Dòng 1, 2 và 5 nên gieo vần.
- Dòng 3 và 4 nên gieo vần.
- Dòng 1, 2 và 5 có khoảng 3x3 = 9 âm tiết, trong khi dòng thứ ba và thứ tư có 2x3 = 6 âm tiết
Lưu ý rằng không có cái nào ngoại trừ cái đầu tiên là khó và nhanh: đánh giá chính xác 100% là không thể.
Quy tắc
Mục nhập của bạn ít nhất nên phân loại chính xác các ví dụ từ 1 đến 3 theo kiểu xác định.
Bạn được phép sử dụng bất kỳ ngôn ngữ lập trình nào bạn muốn, ngoại trừ các ngôn ngữ lập trình được thiết kế riêng cho cuộc thi này (xem tại đây ).
Bạn không được phép sử dụng bất kỳ thư viện nào ngoại trừ các dịch vụ tiêu chuẩn của ngôn ngữ lập trình của bạn.
Bạn được phép giả sử rằng tệp này , từ điển phát âm Nhân sư CMU, nằm trong một tệp có tên 'c' trong thư mục hiện tại.
Bạn không được phép mã cứng cho các đầu vào kiểm tra: chương trình của bạn phải là một bộ phân loại limerick chung.
Bạn được phép giả định rằng đầu vào là ASCII, không có bất kỳ định dạng đặc biệt nào (như trong các ví dụ), nhưng chương trình của bạn không bị nhầm lẫn bởi sự xen kẽ.
Tiền thưởng
Các phần thưởng sau đây có sẵn:
- Chương trình của bạn đưa ra kết quả của nó như là một limerick? Trừ 150 phần thưởng chiều dài!
- Chương trình của bạn cũng xác định chính xác sonnet? Trừ 150 ký tự tiền thưởng thêm chiều dài!
- Chương trình của bạn đưa ra kết quả là sonnet khi được sử dụng trên sonnet? Trừ thêm 100 ký tự tiền thưởng thêm chiều dài!
Cuối cùng ...
Hãy nhớ đề cập đến những phần thưởng mà bạn nghĩ rằng bạn xứng đáng, nếu có, và trừ phần thưởng từ số lượng nhân vật của bạn để đạt được điểm số của bạn. Đây là một cuộc thi golf mã : mục ngắn nhất (tức là mục có điểm thấp nhất) sẽ thắng.
Nếu bạn cần thêm dữ liệu kiểm tra (tích cực), hãy xem OEDILF hoặc Sách vô nghĩa . Dữ liệu thử nghiệm âm tính phải dễ dàng để xây dựng.
Chúc may mắn!
code-challenge
vì tiền thưởng. Vui lòng đọc các mô tả thẻ