บทนำ
เขียนโปรแกรมหรือฟังก์ชั่นที่กำหนดพิกัดของตำแหน่งที่โผตลงบนกระดานปาเป้าส่งคืนคะแนนของโผนั้น พิกัดโผจะถูกกำหนดเป็นจำนวนเต็มสองจำนวนโดยx,y
วัดจากจุดกึ่งกลางของกระดานปาเป้าโดยมีความแม่นยำเป็นมิลลิเมตร
ทำประตูลูกดอกอย่างไร
ปาเป้าเป็นเกมที่เล่นโดยการปาลูกดอกที่วงกลม กระดานโผแบ่งออกเป็น 20 "เวดจ์" ขนาดเท่ากัน เริ่มต้นจากด้านบนและไปตามเข็มนาฬิกาส่วนจะมีค่า 20,1,18,4,13,6,10,15,2,17,3,19,16,11,14,9,12 5 หากโผของคุณตกลงไปในส่วนสีดำหรือสีขาวของชิ้นส่วนใด ๆ คุณจะได้คะแนนตามที่ระบุไว้ด้านนอกของลิ่มนั้น
.
อย่างไรก็ตามถ้าโผของคุณลงในวงแหวนสีเขียว / แดงด้านนอกของ dartboard คุณจะได้คะแนนสองเท่าตามที่ระบุไว้ที่ด้านนอกของลิ่มที่คุณตี ในทำนองเดียวกันการกดวงแหวนสีเขียว / แดงด้านใน (หนึ่งในระหว่างส่วนสีขาว / ดำ) คุณทำคะแนนสามเท่าของจำนวนที่ระบุไว้ที่ด้านนอกของลิ่ม หากลูกดอกของคุณพุ่งเข้าสู่วงในสุด (วัวแดงตา) คุณจะได้คะแนน 50 คะแนนและในที่สุดถ้าลูกดอกของคุณพุ่งเข้าสู่วงกลมวงในสุดที่สอง (วงแหวนสีเขียวรอบดวงตาวัว) คุณจะได้ 25 คะแนน
ขนาดของแหวนวัดจากศูนย์กลางของ dartboard เป็นดังนี้:
Bullseye (50): [0mm-6mm)
25: [6mm-16mm)
Inner Single: [16mm-99mm)
Triple: [99mm-107mm)
Outer Single: [107mm-162mm)
Double: [162mm-170mm)
Miss (0): 170mm+
หมายเหตุ 1: รูปภาพที่ให้ไว้มีวัตถุประสงค์เพื่อประกอบการอธิบายเท่านั้นและไม่ได้ปรับขนาด
หมายเหตุ 2: การวัดที่ให้นั้นเป็นค่าประมาณและอาจไม่แม่นยำสำหรับกระดานปาเป้าจริง
หมายเหตุ 3: [inclusive-exclusive)
การวัดทั้งหมดให้เป็น สำหรับจุดประสงค์ของการท้าทายนี้เราจะไม่กังวลเกี่ยวกับการปาเป้าพุ่งชนและกระดอน หากโผลงสู่ "บนเส้นลวด" ด้วยเส้นรัศมีหนึ่งในนั้นก็ขึ้นอยู่กับผู้ตอบที่จะตัดสินใจว่าจะหักไทม์ตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา ทิศทางการทำลายเสมอจะต้องสอดคล้องและระบุ
หมายเหตุ 4: Dartboard ถูกแขวนตามวิธีมาตรฐานโดยมี 20 ส่วนที่อยู่ตรงกลางเป้าและส่วนที่ 3 อยู่ด้านล่างเป้า
อินพุต
จำนวนเต็มสองจำนวนที่แทนx,y
พิกัดของที่โผลงจอดซึ่งวัดเป็นมิลลิเมตรเทียบกับกึ่งกลางของ dartboard
เอาท์พุต
จำนวนเต็มเดียวสำหรับจำนวนคะแนนที่จะให้กับโผที่ลงจอดที่พิกัดที่กำหนด
ตัวอย่าง
0,0 -> 50
2,101 -> 60
-163,-1 -> 22
6,18 -> 1
-6,18 -> 5
45,-169 -> 0
22, 22 -> 4 (if tie-broken clock-wise)
18(if tie-broken counter-clockwise)
-150,0 -> 11
-150,-1 -> 11
เกณฑ์การให้คะแนน
-150,-1
และ-150,0
ควรให้ทั้งสองกรณี11
และอาจเป็นกรณีขอบในการปรับใช้บางอย่างเนื่องจากนี่คือการเปลี่ยนระหว่าง theta ที่รวมกันเป็น -pi และ theta = + pi ในพิกัดเชิงขั้ว (คำตอบแรกของฉันล้มเหลวในวันที่ 2)