Bạn nên viết chương trình Brainfuck (BF) dài 100 byte.
Một ký tự sẽ bị xóa khỏi nó theo mọi cách có thể tạo ra 100 chương trình mới (dài 99 byte). Ví dụ như cho chương trình ++.>.
5 chương trình con là +.>.
, +.>.
, ++>.
, ++..
và ++.>
.
Điểm của bạn sẽ là số lượng đầu ra duy nhất mà 100 chương trình tạo ra. Điểm cao hơn là tốt hơn.
Chi tiết
- Các chương trình của bạn sẽ bị chấm dứt sau khi xuất ký tự đầu tiên.
- Các chương trình và chương trình không hợp lệ hoặc không kết thúc tạo đầu ra trống không được tính vào điểm số.
- Các tế bào BF là 8 bit gói. (255 + 1 = 0, 0-1 = 255)
- Chương trình của bạn không có đầu vào. Nếu bạn sử dụng
,
trong mã, nó sẽ đặt ô hiện tại thành0
. - Không có ô ở bên trái của vị trí bắt đầu. Ví dụ:
<.
không hợp lệ nhưng.<
hợp lệ vì việc thực thi bị chấm dứt tại.
. Các băng không bị ràng buộc theo hướng khác. - Các chương trình có dấu ngoặc không cân bằng (
[
và]
) không hợp lệ. - Chương trình ban đầu của bạn có thể ngắn hơn 100 byte vì thật dễ dàng để mở rộng thành 100 byte mà không thay đổi điểm số.
- Chương trình ban đầu của bạn không phải là mã BF hợp lệ.
Bạn có thể sử dụng chương trình python3 này (liên kết ideone) để xác định điểm của câu trả lời của bạn. (Đối với các chương trình chạy dài, bạn có thể cần phải sửa đổi maxstep
biến.)
Thí dụ
(Để đơn giản, chương trình này ngắn hơn 100 byte.)
Solution: ++,+[-]+><.-,-.
Score: 3
Explanation:
Subprogram => Output
+,+[-]+><.-,-. => 1
+,+[-]+><.-,-. => 1
+++[-]+><.-,-. => 1
++,[-]+><.-,-. => 1
++,+-]+><.-,-. => None
++,+[]+><.-,-. => None
++,+[-+><.-,-. => None
++,+[-]><.-,-. => 0
++,+[-]+<.-,-. => None
++,+[-]+>.-,-. => 0
++,+[-]+><-,-. => 255
++,+[-]+><.,-. => 1
++,+[-]+><.--. => 1
++,+[-]+><.-,. => 1
++,+[-]+><.-,- => 1
Unique outputs are [0, 1, 255]
Score is 3 for ++,+[-]+><.-,-. (length = 15)
Trong trường hợp hòa, người chiến thắng là người có mã ngắn hơn. (Chương trình của bạn có thể ngắn hơn 100 byte như được nêu trong phần Chi tiết.) Nếu các mã có độ dài bằng nhau, người chiến thắng là người đăng trước đó.
Phần thưởng câu đố: không có giới hạn in đậm, bạn có thể tìm thấy một chương trình có điểm 100 không?