Chỉ sử dụng ASCII có thể in (mã hex 20 đến 7E), viết chương trình lõi N × N vuông mà không có nhận xét được bao quanh bởi 4 lớp nữa , tạo ra chương trình vuông (N + 8) × (N + 8) (N> 0) . Với N = 3, bố cục (được thay thế bằng mã thực tế) trông như thế này:
44444444444
43333333334
43222222234
43211111234
4321CCC1234
4321CCC1234
4321CCC1234
43211111234
43222222234
43333333334
44444444444
- Chữ C đại diện cho chương trình 3 × 3 cốt lõi.
- 1 `đại diện cho lớp đầu tiên, 2 'đại diện cho lớp thứ hai, v.v.
Chương trình luôn lấy một chuỗi các số nguyên được phân tách bằng dấu cách, chẳng hạn như 0 -1 31 -1 2 2 2
thông qua stdin hoặc tương tự (nó chỉ nên là số đơn giản, không có dấu ngoặc kép hoặc dấu ngoặc hoặc bất cứ thứ gì). Đầu ra phụ thuộc vào phần nào của bố cục đã được chạy.
Có năm cách để chạy chương trình (dòng mới được bao gồm trong quá trình chạy). Mỗi người làm một cái gì đó khác nhau trong danh sách:
Chỉ chạy lõi:
CCC CCC CCC
Điều này sẽ tính toán tối đa các giá trị tuyệt đối của các thành phần danh sách đầu vào và in
CORE
trên một dòng mới nhiều lần. Nếu tối đa là 0 thì không có gì là đầu ra (một dòng mới là tốt).Đầu ra cho
0 -1 31 -1 2 2 2
sẽ làCORE CORE ...
31 lần.
Chạy lõi với lớp 1:
11111 1CCC1 1CCC1 1CCC1 11111
Điều này đưa giá trị trung bình (trung bình số học ) của các giá trị danh sách thành độ chính xác của dấu phẩy động chuẩn.
- Đầu ra cho
0 -1 31 -1 2 2 2
sẽ là 35/7 =5
(5.0
là tốt).
- Đầu ra cho
Chạy lõi với lớp 1 và 2:
2222222 2111112 21CCC12 21CCC12 21CCC12 2111112 2222222
Điều này xuất ra một danh sách ngăn cách không gian của danh sách đầu vào đảo ngược.
- Đầu ra cho
0 -1 31 -1 2 2 2
sẽ là2 2 2 -1 31 -1 0
.
- Đầu ra cho
Chạy lõi với các lớp 1, 2 và 3 (mô hình nên rõ ràng).
Điều này xuất ra một danh sách ngăn cách không gian của danh sách đầu vào được sắp xếp.- Đầu ra cho
0 -1 31 -1 2 2 2
sẽ là-1 -1 0 2 2 2 31
.
- Đầu ra cho
Chạy lõi với các lớp 1, 2, 3 và 4.
Điều này tạo ra một danh sách được phân tách bằng dấu cách của danh sách đầu vào với các mục trùng lặp được loại bỏ, thứ tự không thành vấn đề.- Đầu ra cho
0 -1 31 -1 2 2 2
có thể-1 0 2 31
.
- Đầu ra cho
Tất cả đầu ra là stdout hoặc một sự thay thế tương tự.
Chỉ có 5 kết hợp bố trí có hành vi được chỉ định.
Ghi chú
- Nhận xét không được phép trong lõi hoặc các lớp hoặc kết hợp của chúng. Mã không có hoặc không có gì mang tính xây dựng không được tính là một nhận xét.
- Hãy nhớ rằng lõi có thể có bất kỳ kích thước N × N (dương) nào, nhưng các lớp chỉ dày một ký tự.
- Bạn có thể giả sử đầu vào không có khoảng trắng ở đầu hoặc cuối và chính xác một khoảng trắng giữa các số. Nó sẽ luôn chứa ít nhất một số. (Danh sách đầu ra cũng nên được định dạng như thế này.)
- Bạn có thể giả sử danh sách và các tính toán cần thiết cho đầu ra sẽ không có giá trị tràn (hoặc tràn) số nguyên của bạn (miễn là mức tối đa của chúng là hợp lý như 2 16 ).
Chấm điểm
Viết chương trình này thông thường sẽ dễ dàng. Viết nó với một lõi nhỏ là khó.
Chương trình có kích thước lõi nhỏ nhất (N nhỏ nhất) sẽ thắng. Trong trường hợp quan hệ, người chiến thắng là chương trình đầy đủ (hình vuông (N + 8) × (N + 8)) với ít ký tự riêng biệt nhất (không tính dòng mới).
Vui lòng báo cáo giá trị N của bạn ở đầu câu trả lời của bạn.