เกม Sevens เล่นดังนี้: n
ผู้เล่นนั่งเป็นวงกลมและเริ่มนับจาก 1 ผ่านไปทางซ้าย (หรือจากผู้เล่นA
ไปยังผู้เล่นB
)
เมื่อถึงตัวเลขp
ที่7
อยู่ในนั้นหรือหารด้วย7
แล้วผู้เล่นที่พูดหมายเลขp-1
หลังจากผู้เล่นคนถัดไปพูดp
ต้องพูดp+1
และลำดับของผู้ที่พูดตรงกันข้าม ตัวอย่างเช่นถ้าผู้เล่นB
พูด6
เล่นC
พูดว่า7
, B
กล่าวว่า8
, และเครื่องเล่นกล่าวว่าA
9
หมายเหตุ:สำหรับผู้ที่ต้องการเล่นในชีวิตจริงหากคนลืมตัวเลข (หรือในรุ่นที่sevens
ไม่ได้พูดว่าตั้งใจseven
), พวกเขาจะถูกตัดออกจากวงกลม แต่เราจะละเว้นรายละเอียดนี้จากความท้าทายนี้
ความท้าทายคือการพิมพ์ตัวเลขที่ผู้เล่นแต่ละคนควรพูดในเกมที่สมบูรณ์แบบของ Sevens จนถึงอินพุตm
สำหรับn
ผู้เล่นอินพุท
เป็นตัวอย่างที่ห้าคนA
, B
, C
, D
และมีการเล่นจนกว่าพวกเขาจะมาถึงE
30
พวกเขาเล่นในลักษณะนี้
A: 1 6 8 13 15 19 23 30
B: 2 7* 12 16 18 24
C: 3 11 17* 25
D: 4 10 21* 26 28*
E: 5 9 14* 20 22 27*29
ที่มีเครื่องหมายsevens
*
ทราบว่าใน27
และ28
เรากำลังย้อนกลับสองครั้งและเล่นต่อ "ตามปกติ" จากไปD
E
โปรดทราบว่าผลลัพธ์ไม่จำเป็นต้องอยู่ในรูปแบบข้างต้น ฉันพิมพ์มันออกมาเพื่อความชัดเจน
กฎระเบียบ
อินพุตเป็นจำนวนเต็มสองจำนวนในลำดับใด ๆ ที่
m
แสดงถึงจำนวนสุดท้ายที่จะพูดn
แทนจำนวนผู้เล่นเอาท์พุทสามารถเป็นหลายอาร์เรย์หรือหลายสายหนึ่งสำหรับผู้เล่นแต่ละคน หากคุณใช้สตริงคุณไม่จำเป็นต้องใช้ตัวคั่น (แต่ถ้าคุณสามารถเพิ่มบางส่วนในการทดสอบรหัสของคุณเราจะขอบคุณการอ่าน) หากคุณสามารถพิมพ์พวกมันเป็นวงกลมก็ได้นั่นก็เป็นที่ยอมรับเช่นกันและมันก็ค่อนข้างเท่ห์เช่นกัน
ผลลัพธ์ไม่จำเป็นต้องระบุว่าผู้เล่นคนไหนเป็นใคร (เห็นได้ชัดว่าผู้เล่นคนแรกคือคนที่พูดว่า
1
) แม้ว่าจะไม่ได้เรียงเอาท์พุทไม่ว่าด้วยเหตุผลใดก็ตามคุณควรทำให้ผู้เล่นคนไหนพูดด้วยตัวเลข . การละเว้นผู้เล่นที่ไม่ได้พูดอะไรจะได้รับอนุญาตถ้าคุณพูดให้ชัดเจนว่าผู้เล่นคนไหนพูด ฉันจะเพิ่มตัวอย่างเพิ่มเติมของผลลัพธ์ที่เป็นไปได้ด้านล่างนี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงเป็นชัยชนะ
เช่นเคยหากปัญหายังไม่ชัดเจนโปรดแจ้งให้เราทราบ ขอให้โชคดีและการเล่นกอล์ฟที่ดี!
ตัวอย่าง
>>> sevens_string(30, 5, " ")
'1 6 8 13 15 19 23 30'
'2 7 12 16 18 24'
'3 11 17 25'
'4 10 21 26 28'
'5 9 14 20 22 27 29'
>>> sevens_string(42, 5)
'16813151923303539'
'27121618243140'
'31117253241'
'410212628333742'
'591420222729343638'
>>> sevens_array(20, 3)
[1, 4, 7, 10, 13, 15, 19]
[2, 5, 9, 12, 16, 18]
[3, 6, 8, 11, 14, 17, 20]
>>> sevens_array(18, 10)
[1, 13, 15]
[2, 12, 16, 18]
[3, 11, 17]
[4, 10]
[5, 9]
[6, 8]
[7]
[]
[]
[14]
1 2 3 4 1 2 3 2 1 4 3 2 1 4 1
คน) ฉันไม่ได้บอกว่ามันดีกว่าหรือแย่กว่าในแง่ของการท้าทายเขา: แค่มันจะมีประโยชน์มากกว่าในโลกแห่งความเป็นจริง