Khi bạn chạy chương trình của mình trước, nó sẽ in một chuỗi số nguyên. Lần chạy thứ hai nên in bài hát "Mary có một chú cừu nhỏ". Lần chạy thứ ba sẽ tạo ra một tệp hình ảnh ASCII.
Chấm điểm
Điểm của bạn sẽ là tổng số byte mã của bạn và bất kỳ nội dung tệp nào khi bắt đầu mỗi 3 lần chạy. Điểm số thấp nhất chiến thắng.
Ví dụ, myprog
là 1500 byte và không thay đổi kích thước của nó, nhưng ghi một tệp 4 byte mỗi lần chạy để nó biết phải làm gì trong lần chạy tiếp theo. Điểm sẽ là 1500 + (1500 + 4) + (1500 + 4) = 4508.
Đầu ra
Đầu ra đầu tiên là dãy gồm 133 số nguyên, được phân tách bằng các khoảng trắng đơn:
0 89 98 179 188 197 269 278 287 296 359 368 377 386 395 449 458 467 476 485
494 539 548 557 566 575 584 593 629 638 647 656 665 674 683 692 719 728
737 746 755 764 773 782 791 809 818 827 836 845 854 863 872 881 890 908
917 926 935 944 953 962 971 980 1079 1088 1097 1169 1178 1187 1196 1259
1268 1277 1286 1295 1349 1358 1367 1376 1385 1394 1439 1448 1457 1466 1475
1484 1493 1529 1538 1547 1556 1565 1574 1583 1592 1619 1628 1637 1646 1655
1664 1673 1682 1691 1709 1718 1727 1736 1745 1754 1763 1772 1781 1790 1808
1817 1826 1835 1844 1853 1862 1871 1880 1907 1916 1925 1934 1943 1952 1961
1970
Đầu ra thứ hai là văn bản này chính xác (bao gồm chữ hoa, dấu chấm câu và khoảng trắng - dấu chấm không nhất quán là có chủ ý):
Mary had a little lamb,
Little lamb, little lamb,
Mary had a little lamb,
Its fleece was white as snow
And everywhere that Mary went,
Mary went, Mary went,
Everywhere that Mary went
The lamb was sure to go
It followed her to school one day
School one day, school one day
It followed her to school one day
Which was against the rules.
It made the children laugh and play,
Laugh and play, laugh and play,
It made the children laugh and play
To see a lamb at school
Đầu ra thứ ba là hình ảnh này ở định dạng PPM ASCII (P3) còn lại trong một tệp có tên
blue.ppm
. Đây là hình ảnh ở định dạng PNG:
Tệp PPM sẽ trông giống như thế này:
P3 50 50 255
255 255 255 255 255 255 255 255 255 255 255 255 ...
...
255 255 255
Có một bản sao của tập tin PPM đầy đủ ở đây .
Chạy ví dụ (trên Linux)
# ls
myprog
# interpreter myprog
0 89 98 179 188 197 269 278 287 296 359 ...
# interpreter myprog
Mary had a little lamb,
Little ...
# interpreter myprog
# ls
blue.ppm
myprog
# cat blue.ppm
P3 50 50 255
255 255 255 255 255 ...
Quy tắc
- Mã của bạn có thể tự sửa đổi.
- Chạy chương trình lần thứ tư là hành vi không xác định.
- Bạn có thể ghi vào một tệp trong thư mục hiện tại, nhưng kích thước của tệp này sẽ thêm vào điểm của bạn khi bắt đầu mỗi lần chạy. Tệp PPM cuối cùng được loại trừ khỏi đây.
- Hai đầu ra đầu tiên là stdout (hoặc tương tự). Đầu ra cuối cùng được ghi vào một tệp, không có gì được gửi đến thiết bị xuất chuẩn.
- Hai đầu ra đầu tiên có thể tùy chọn có một ký tự khoảng trắng ở đuôi (ví dụ: khoảng trắng hoặc nguồn cấp dữ liệu).
- Bạn không thể sử dụng thư viện nén hoặc hình ảnh. Bạn có thể sử dụng chức năng nén hoặc hình ảnh của riêng mình nhưng mã này phải được đưa vào chương trình của bạn.
- Các sơ hở tiêu chuẩn đều bị cấm.