Giới thiệu
Sau một trận chiến dài, bạn đã tìm cách đánh bại một Nhân sư trong một cuộc thi câu đố. Nhân sư, ấn tượng với kỹ năng của bạn, mong muốn trao cho bạn một phần thưởng tương xứng với sự thông minh của bạn, và gợi ra sự tồn tại của một dải giấy da ma thuật được chia thành tám hộp, mỗi hộp chứa một chữ số.
Sphinx nói, "Làm nhăn giấy da", sao cho các hộp trùng nhau và các hộp đó sẽ hợp nhất thông qua phép cộng hoặc nhân. Khi một hộp còn lại, giá trị của nó sẽ là phần thưởng của bạn bằng tiền vàng. "
Bài tập
Bạn phải viết một chương trình hoặc hàm lấy đầu vào danh sách / mảng / bất cứ số nào trong tám số tự nhiên và trả về / in phần thưởng tối đa có thể đạt được thông qua một loạt các thao tác 'nhăn'.
Cơ học
Hoạt động 'nhăn' được thực hiện trên một số ô và với một trong hai +
hoặc *
là toán tử. N ô đầu tiên của danh sách được gấp lại và hợp nhất với các ô đích của chúng bằng toán tử. Bất kỳ ô nào không được tiêu thụ trong hoạt động hợp nhất sẽ không được sửa đổi.
Dưới đây là một ví dụ về nếp gấp bằng cách sử dụng n = 3 ô:
sử dụng một trong hai bổ sung, sẽ dẫn đến điều này:
hoặc nhân, sẽ dẫn đến điều này:
Lưu ý: Để đơn giản, việc tạo nếp nhăn có ít hơn 1 ô không được phép, cũng như tạo nếp với một số ô lớn hơn hoặc bằng độ dài của danh sách. Tuy nhiên, một danh sách có thể bằng cách tăng hơn một nửa số lượng tế bào của nó.
Một danh sách 8 ô có thể được tạo bởi 5 ô, dẫn đến một danh sách mới có độ dài 5:
[0,1,2,3,4,5,6,7]
được tạo bởi 5 ô bằng cách sử dụng +
toán tử sẽ cung cấp[9,9,9,1,0]
.
Chấm điểm
Quy tắc golf mã tiêu chuẩn - mã tạo ra đầu ra chính xác và có số byte chiến thắng ít nhất.
Phần thưởng: Nếu mã của bạn cũng trả về / in chuỗi các thao tác tạo nếp gấp dẫn đến phần thưởng tối đa, hãy nhân số điểm của bạn với 0,8. Ví dụ đầu ra có thể trông giống như:
crease 5 +
crease 2 *
crease 2 +
crease 1 *
Ví dụ
Kiểm tra mã của bạn bằng cách sử dụng các đầu vào và kết quả này, dưới dạng input - maximum reward
:
[0, 1, 2, 3, 4, 5, 6, 7] - 7560
[0, 9, 0, 3, 2, 6, 1, 5] - 1944
[0, 1, 0, 3, 0, 2, 0, 4] - 36
[6, 0, 9, 1, 9, 0, 7, 3] - 11907
[0, 5, 2, 0, 1, 3, 8, 8] - 2560