Mölkky
Mölkky là một trò chơi ném của Phần Lan. Người chơi sử dụng ghim gỗ (còn gọi là "mölkky") để cố gắng vượt qua các chốt gỗ có kích thước gần như tương tự với pin ném, được đánh dấu bằng các số từ 1 đến 12. Vị trí ban đầu của các chân như sau:
(07)(09)(08)
(05)(11)(12)(06)
(03)(10)(04)
(01)(02)
Mô tả này và các quy tắc dưới đây được dựa trên Wikipedia .
Quy tắc Mölkky đơn giản hóa
Gõ trên một pin sẽ ghi số điểm được đánh dấu trên pin.
Gõ 2 chân trở lên sẽ ghi được số chân bị lật (ví dụ: gõ trên 3 chân sẽ ghi được 3 điểm).
Mục tiêu của trò chơi là đạt được chính xác 50 điểm. Ghi hơn 50 điểm bị phạt bằng cách đặt điểm trở lại 25 điểm.
Với mục đích của thử thách này, chúng tôi sẽ đưa ra giả định rằng các chân luôn theo đúng thứ tự được mô tả ở trên. (Trong một trò chơi thực sự, các chân được đứng lên một lần nữa sau mỗi lần ném vào vị trí mà chúng hạ cánh.)
Tất cả các quy tắc Mölkky khác đều bị bỏ qua và chỉ một người chơi duy nhất được xem xét.
Đầu vào
Một danh sách không trống của danh sách 12 booleans. Mỗi danh sách booleans mô tả kết quả của một lần ném: 1 nếu pin bị lật và 0 nếu không. Các booleans được đưa ra theo thứ tự chính xác của các chân, từ trên trái sang dưới phải: 7 , 9 , 8 , 5 , 11 , 12 , 6 , 3 , 10 , 4 , 1 , 2 .
Đầu ra
Điểm sau tất cả các lần ném được mô tả trong đầu vào, được tính bằng cách áp dụng quy tắc 1 , 2 và 3 .
Ví dụ chi tiết
Hãy xem xét các đầu vào sau:
// 07 09 08 05 11 12 06 03 10 04 01 02
[ [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], // scores 5 (rule #1)
[ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], // scores 2 (rule #2), total: 7
[ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ], // scores 7, total: 14
[ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], // scores 12, total: 26
[ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 ], // scores 12, total: 38
[ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 ], // scores 11, total: 49
[ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], // scores 7, total: 56 -> 25 (rule #3)
[ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] ] // scores 2, total: 27
Sản lượng dự kiến là 27 .
Quy tắc thử thách
- Bạn có thể lấy đầu vào ở bất kỳ định dạng hợp lý. Thay vì danh sách các booleans, bạn có thể sử dụng các số nguyên trong đó bit quan trọng nhất là chân số 7 và bit quan trọng nhất là chân số 2. Trong định dạng này, ví dụ trên sẽ được thông qua dưới dạng
[ 256, 2304, 127, 64, 64, 128, 2048, 3072 ]
. - Danh sách đầu vào có thể chứa các cú ném trong đó không có pin nào bị lật đổ, trong trường hợp đó, điểm số sẽ không thay đổi.
- Bạn không có gì đặc biệt để làm khi điểm đạt chính xác 50 điểm. Nhưng bạn có thể cho rằng sẽ không có cú ném nào khác xảy ra khi nó xảy ra.
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.
Các trường hợp thử nghiệm
Sử dụng danh sách các số nguyên làm đầu vào:
[ 0 ] --> 0
[ 528 ] --> 2
[ 4095 ] --> 12
[ 64, 0, 3208 ] --> 16
[ 16, 1907, 2048 ] --> 18
[ 2023, 2010, 1, 8 ] --> 29
[ 1726, 128, 35, 3136, 1024 ] --> 34
[ 32, 32, 2924, 2, 256, 16 ] --> 28
[ 64, 64, 2434, 1904, 3251, 32, 256 ] --> 25
[ 3659, 2777, 2211, 3957, 64, 2208, 492, 2815 ] --> 25
[ 2047, 1402, 2, 2599, 4, 1024, 2048, 3266 ] --> 50
[ 256, 2304, 127, 64, 64, 128, 2048, 3072 ] --> 27
[ 16, 8, 128, 1, 2048, 1, 2048, 513, 8, 3206 ] --> 30
Bạn có thể theo liên kết này để có được các trường hợp thử nghiệm này ở định dạng Boolean.