+\µi©⁵+Ị$ḂḤị;®×Ị¤¡-
;0Ç3ƤFṣ-m€2Fḣ⁵S
ลิงก์ monadic ยอมรับรายการจำนวนเต็มและส่งคืนจำนวนเต็ม
ลองออนไลน์!
อย่างไร?
คำนวณคะแนนของการวิ่งสามครั้งที่ทับซ้อนกันของสามโบวล์ราวกับว่ามันเป็นเกมที่เริ่มต้นที่จุดเริ่มต้นของเฟรมและผนวกตัวระบุการนัดหยุดงาน ( -1
) เพื่อทำให้รายการผลลัพธ์นี้แบนแล้วแยกมันออกจากตัวระบุการนัดหยุดงาน แต่ละอัน (ลบคะแนนของการวิ่งที่ไม่ได้เริ่มต้นด้วยการเริ่มเฟรม)
เพื่อรองรับเฟรมสุดท้ายศูนย์จะถูกผนวกเข้ากับอินพุตเป็นครั้งแรก (เพื่ออนุญาตให้การแบ่งส่วนสามอย่างชาญฉลาดเพื่อให้เฟรมเริ่มต้นในสิ่งที่เป็นชามถัดไป) และคะแนนที่ได้จะถูกตัดให้เหลือสิบอันดับแรก เป็นไปได้ว่าเป็นการปลอมเฟรมที่ 11) ก่อนที่จะสรุปมัน
+\µi©⁵+Ị$ḂḤị;®×Ị¤¡- - Link 1, threeBowlEvaluate: list, bowlScores
- e.g. [0,4,6] [9,1,10] [0,4,4] [10,7,9]
\ - cumulative reduce with:
+ - addition [0,4,10] [9,10,20] [0,4,8] [10,17,26]
µ - monadic chain separation, call that "left"
⁵ - literal ten 10 10 10 10
i - first index in left 3 2 (spare) 0 1 (strike)
© - (copy to register for later reuse)
$ - last two links as a monad (f(x)):
Ị - abs(x) <= 1 0 0 1 1
+ - add x 3 2 1 2
Ḃ - modulo by 2 1 0 1 0
Ḥ - double 2 0 2 0
ị - index into left (both 1-indexed and modular)
- ... 4 20 4 26
- - literal -1 -1 -1 -1 -1
¡ - repeat:
; - ...action: concatenate
¤ - ...number of times: nilad followed by link(s) as a nilad:
® - z from register 3 2 0 1
Ị - abs(z) <= 1 0 0 1 1
× - multiply 0 0 0 1 (strike)
- ...yielding: 4 20 4 [26,-1]
;0Ç3ƤFṣ-m€2Fḣ⁵S - Main link: list bowlValues
- e.g. [4,3,8,2,7,1,10,7,3,0,10,2,2,10,10,5,4]
0 - literal zero 0
; - concatenate [4,3,8,2,7,1,10,7,3,0,10,2,2,10,10,5,4,0]
3Ƥ - for infixes of length 3:
Ç - last link (1) as a monad
- [7,11,17,9,8,11,[20,-1],10,3,12,[14,-1],4,12,[25,-1],[19,-1],9]
F - flatten [7,11,17,9,8,11,20,-1,10,3,12,14,-1,4,12,25,-1,19,-1,9]
- - literal -1 -1
ṣ - split at [[7,11,17,9,8,11,20],[10,3,12,14],[4,12,25],[19],[9]]
2 - literal two 2
m€ - modulo slice for €ach [[7,17,8,20],[10,12],[4,25],[19],[9]]
F - flatten [7,17,8,20,10,12,4,25,19,9]
⁵ - literal ten 10
ḣ - head to index [7,17,8,20,10,12,4,25,19,9] (no effect this time)
S - sum 131