lk 키
Mölkky 는 핀란드어 던지는 게임입니다. 플레이어는 나무 핀 ( "mölkky"라고도 함)을 사용하여 1에서 12까지의 숫자로 표시된 던지는 핀과 거의 비슷한 치수의 나무 핀을 두 드리려고 시도합니다. 핀의 초기 위치는 다음과 같습니다.
(07)(09)(08)
(05)(11)(12)(06)
(03)(10)(04)
(01)(02)
이 설명과 규칙은 Wikipedia를 기반으로 합니다.
단순화 된 Mölkky 규칙
한 핀을 두드리면 핀에 표시된 점수가 표시됩니다.
두 개 이상의 핀을 두드리면 넘어진 핀 수가 점수가 매겨집니다 (예 : 3 개 이상의 핀을 두드리면 3 점).
게임의 목표는 정확히 50 점 에 도달하는 것 입니다. 점수를 25 점으로 다시 설정하면 50 점 이상의 점수가 부과됩니다 .
이 문제를 해결 하기 위해 핀은 항상 위에서 설명한 순서대로되어 있다고 가정합니다 . (실제 게임에서는 핀이 착륙 한 위치에 던져 질 때마다 핀이 다시 일어납니다.)
다른 모든 Mölkky 규칙은 무시되며 단일 플레이어 만 고려됩니다.
입력
비어 있지 않은 12 개의 부울 목록 목록입니다. 각 부울 목록은 던지기 결과를 나타냅니다. 핀이 넘어지면 1 , 그렇지 않으면 0 입니다. 부울은 핀의 정확한 순서대로 왼쪽 상단에서 오른쪽 하단으로 : 7 , 9 , 8 , 5 , 11 , 12 , 6 , 3 , 10 , 4 , 1 , 2 입니다.
산출
규칙 1 , 2 및 3 을 적용하여 계산 한 입력에 설명 된 모든 드로우 후의 점수 입니다.
자세한 예
다음 입력을 고려하십시오.
// 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
예상 출력은 27 입니다.
도전 규칙
- 합리적인 형식으로 입력 할 수 있습니다. 부울 목록 대신에 최상위 비트가 핀 # 7이고 최하위 비트가 핀 # 2 인 정수를 사용할 수 있습니다. 이 형식에서 위 예제는로 전달됩니다
[ 256, 2304, 127, 64, 64, 128, 2048, 3072 ]
. - 입력 목록에는 핀이 전혀 쓰러지지 않은 던지기가 포함될 수 있으며,이 경우 점수는 변경되지 않습니다.
- 점수가 정확히 50 점에 도달하면 특별한 조치가 없습니다 . 그러나 당신은 그것이 일어날 때 다른 던지기는 따르지 않을 것이라고 가정 할 수 있습니다.
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
테스트 사례
정수 목록을 입력으로 사용 :
[ 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