Viết chương trình với các thuộc tính sau:
Khi chạy nguyên trạng, chương trình không tạo ra đầu ra (tức là 0 byte đầu ra).
Có một vị trí trong chương trình (theo lựa chọn của bạn: có thể là ở đầu, cuối hoặc ở đâu đó ở giữa) với thuộc tính sau: sửa đổi chương trình thông qua việc đặt bất kỳ chuỗi nào ở đó sẽ khiến chương trình kết quả in chuỗi đó khi Thực thi.
Điều này phải hoạt động bất kể chuỗi có chứa dấu ngoặc kép, dấu gạch chéo ngược, dấu nhận xét, dấu phân cách, byte NUL, v.v.; bất kể bạn đặt gì ở đó, chuỗi vẫn được hiểu là một chuỗi và được in hoàn toàn nguyên văn. Tuy nhiên, bạn có thể không xử lý các chuỗi rất dài nếu chúng khiến trình biên dịch hết bộ nhớ hoặc tương tự (chính xác là, bạn ít nhất có thể xử lý các chuỗi dài tới 1000 byte hoặc gấp ba lần độ dài của chương trình của bạn, cái nào dài hơn).
Một ví dụ về một giải pháp không hợp lệ sẽ là
print("");
# ^ text goes here
trong Python, Perl, Ruby, v.v.; mặc dù nó hoạt động với nhiều chuỗi, nhưng nó sẽ không hoạt động đối với một chuỗi chứa một trích dẫn kép hoặc một chuỗi chứa chuỗi con \n
(sẽ được hiểu là một dòng mới).
Lưu ý rằng vấn đề này có lẽ là không thể trong hầu hết các ngôn ngữ; thách thức ít nhất là một phần về việc tìm kiếm một ngôn ngữ nơi nó hoạt động. Ngôn ngữ bạn chọn phải là ngôn ngữ lập trình theo định nghĩa của trang này , ví dụ: không gửi giải pháp trong Văn bản .
Vì đây là môn đánh gôn , mẫu chương trình ngắn nhất sẽ thắng. Tuy nhiên, đừng nản lòng khi gửi giải pháp ngay cả khi họ không thể đánh bại người chiến thắng hiện tại! Bạn vẫn có thể cạnh tranh cho vị trí thứ hai, thứ ba, v.v., hoặc đơn giản là tìm ra càng nhiều câu trả lời ở nơi nó hoạt động càng tốt. Tuy nhiên, bạn nên đảm bảo rằng chương trình của bạn đáp ứng toàn bộ thông số kỹ thuật trước khi gửi nó; giải pháp gần đúng sẽ bỏ lỡ điểm của vấn đề.
AWK
, chỉ cần 1
làm điều đó.