Bây giờ với THƯỞNG cho vị trí thời gian chạy.
Viết chương trình để điền vào hộp văn bản với các mã định danh được sử dụng trong chương trình của bạn trong khi giữ cho chương trình của bạn nhỏ. Với tất cả các định bạn đã sử dụng (trừ các bạn tạo ra) trong chương trình của bạn, điền vào một hộp 12x6 với càng nhiều càng tốt. Bạn nhận được thêm điểm cho các số nhận dạng giao nhau (kiểu ô chữ), nhưng chúng không thể nối từ đầu đến cuối.
Đầu ra
Chương trình của bạn nên in (để xuất bản) một hộp ký tự 12x6 với các số nhận dạng được đóng gói và #
đường viền. Hộp phải có các cột được dán nhãn bằng chữ AL và các hàng 1-6 (cách nhau như ví dụ bên dưới). Sau đó in một dòng cho mỗi định danh được sử dụng. Mỗi dòng sẽ có vị trí của chữ cái đầu tiên, chính định danh và điểm số. Điểm số bằng với số chữ cái trong mã định danh có thêm '+ phần thưởng' có thể được thêm vào. Mã định danh nhận được 5 điểm thưởng cho mỗi chữ cái được chia sẻ với mã định danh chéo. Dòng cuối cùng báo cáo 'TOTAL:' và tổng số điểm định danh. Một đầu ra ví dụ cho một chương trình Python có thể sẽ trông như thế này:
ABCDEFGHIJKL
##############
1 # pinsert #
2 # o #
3 # print #
4 # not #
5 # #
6 #import #
##############
C1 pop 3+5
D1 insert 6
C3 print 5+10
E3 in 2+10
E4 not 3+5
A6 import 6
TOTAL: 55
Ghi chú:
- Định danh có thể không được gắn kết (như
import
trên). - Bạn không thể tham gia
pop
vàprint
nội tuyến vớipoprint
. - Chuỗi
in
bên tronginsert
không thể được sử dụng. Tham gia từ phải trực giao. - Mã định danh có thể được đặt cạnh nhau (như
pop
vàinsert
ở trên).
Câu trả lời của bạn nên bao gồm đầu ra chương trình của bạn với mã nguồn của bạn và một tiêu đề bao gồm tên ngôn ngữ và điểm số của bạn.
Ghi bàn
Điểm của bạn cho thử thách sẽ là điểm số câu đố bình phương chia cho kích thước của mã nguồn của bạn (tính bằng byte). Ví dụ: Câu đố ở trên với chương trình 300 byte sẽ ghi điểm 55*55/300 = 10.08
. Điểm số cao nhất chiến thắng.
Quy tắc
- Bạn có thể sử dụng bất kỳ định danh nào trong chương trình không do bạn xác định. Từ khóa, tên lớp, tên phương thức, tên thư viện và tên hàm dựng sẵn là ví dụ về các định danh đủ điều kiện.
- EDITED: Bạn chỉ có thể sử dụng các thư viện tiêu chuẩn được bao gồm trong bản phát hành ngôn ngữ tối thiểu. Các gói ngôn ngữ mở rộng và việc sử dụng các thư viện bên ngoài (hiện đang bị cấm). Hàng loạt các thư viện với danh sách định danh phong phú sẽ làm mất cân bằng thách thức này. Nếu bạn không chắc chắn làm thế nào điều này hoạt động với ngôn ngữ của bạn, xin vui lòng để lại một câu hỏi trong các ý kiến.
- Mã định danh phải chỉ bao gồm các ký tự [a-zA-Z_] và có ít nhất 2 ký tự.
- Bạn chỉ có thể sử dụng mỗi định danh một lần trong câu đố.
- Mã định danh chỉ có thể được sử dụng từ trái sang phải hoặc xuống dưới.
Phần thưởng năng động!
Nếu mã của bạn xác định nơi đặt mã định danh vào thời gian chạy, phần thưởng thư được chia sẻ sẽ là 20 thay vì 5. Bạn có thể liệt kê danh tính nào sẽ được sử dụng, nhưng mã của bạn phải quyết định vị trí trong hộp để đặt chúng. Mã của bạn cũng phải tính toán và in danh sách điểm. Nếu các vị trí của bạn phụ thuộc vào thứ tự của danh sách số nhận dạng, các cặp được mã hóa cứng hoặc các lối tắt vị trí không động khác, bạn không đủ điều kiện nhận Tiền thưởng động.
Trong ví dụ đầu ra ở trên, điểm số câu đố cho chương trình sắp xếp thời gian chạy sẽ trở thành 145. Sau đó, nếu mã là 800 byte, điểm sẽ là 145*145/800 = 26.28
.
Phần thưởng động được thiết kế để thưởng cho các thuật toán thông minh thay vì các chuỗi giải pháp được mã hóa cứng và bù cho kích thước mã nguồn lớn hơn.
CHỈNH SỬA:
- Các thư viện đã thay đổi chỉ được sử dụng cho những thư viện phát hành ngôn ngữ tối thiểu.
- Đã thêm tùy chọn tiền thưởng động.
xyzw
/ rgba
/ stpq
:)