รับรายการของระยะหลุมขนาดสีเขียวมุมชิ้นและระยะทางสูงสุดคำนวณคะแนนกอล์ฟ
สมมติฐาน
- โลกแบน
- ผักใบเขียวทั้งหมดเป็นวงกลม
- มุมสไลซ์จะอยู่ระหว่าง -45 ถึง 45 องศาและจะได้รับเป็นองศา
- ระยะทางทั้งหมดในตัวชี้วัดเดียวกัน (หลาหรือเมตรไม่สำคัญ)
- ไม่มีขอบเขตสิ่งกีดขวางหรือ doglegs
- คะแนนสูงสุดในหลุมใด ๆ คือ 8
- ทุกช็อตจะเคลื่อนที่ไปในระยะที่น้อยกว่าหรือระยะทางสูงสุดไปยังรูในทิศทางที่กำหนดโดยมุมไปยังรูบวกกับมุมของชิ้น
- ระยะทางถูกวัดเป็นเส้นตรงหรือระยะทางแบบยุคลิดระหว่างจุดเริ่มต้นและจุดสิ้นสุด
- ระยะทางสูงสุดและมุมชิ้นจะเท่ากันสำหรับทุกช็อตในทุกหลุม
- นักกอล์ฟสองพัตหนึ่งครั้งบนกรีน (หรือที่ขอบกรีน)
ตัวอย่าง
ลองดูที่แฮ็กเกอร์จากกรณีทดสอบ # 5 ด้านล่างเพื่อหารู # 2 แฮ็กเกอร์สามารถตีลูกบอลได้ 320 หลา แต่จะแบ่ง 30 องศาเสมอ หากเราสมมติโดยไม่สูญเสียความคิดทั่วไปว่ากล่องทีออฟอยู่ที่ {0,0} และกรีนอยู่ที่ {497,0} จากนั้นเขาจะตีช็อตไปยังจุดต่อไปนี้มาถึงกรีนด้วยช็อตที่ 7:
{{0.,0.},{277.128,-160.},{547.543,-131.372},{569.457,7.67088},{502.872,37.2564},{479.159,7.92741},{490.646,-7.85868},{500.078,-4.22987}}
เมื่อมาถึงจุดนี้คะแนนของเขาจะเป็น 9 เนื่องจากทั้งสองพัตต์ที่ต้องการดังนั้นคะแนนสุดท้ายสำหรับเขาจะต่อยอดที่ 8 ตามสมมติฐาน
กรณีทดสอบ
กรณีทดสอบทั้งหมดมีหลักสูตร 18 หลุมมาตรฐาน
Case#1
{MaxDistance->280,SliceAngle->10,HoleDistances->{181,368,161,416,158,526,377,427,509,148,405,443,510,494,396,388,483,172},GreenDiameters->{26,18,17,23,27,23,21,23,25,21,19,24,21,23,25,24,22,22}}
Scores:
{4,5,4,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4}
Output: 85
Case#2 (same course as Test Case #1, shorter more accurate golfer)
{MaxDistance->180,SliceAngle->5,HoleDistances->{181,368,161,416,158,526,377,427,509,148,405,443,510,494,396,388,483,172},GreenDiameters->{26,18,17,23,27,23,21,23,25,21,19,24,21,23,25,24,22,22}}
Scores:
{4,5,4,5,4,6,5,5,6,4,5,5,6,6,5,5,5,4}
Output: 89
Case#3 (Same golfer as test case #1, shorter course)
{MaxDistance->280,SliceAngle->10,HoleDistances->{147,497,110,528,409,118,196,154,134,514,374,491,131,138,523,478,481,494},GreenDiameters->{32,16,36,25,32,20,30,30,33,29,25,26,26,25,33,28,21,28}}
Scores:
{4,5,4,5,5,4,4,4,4,5,5,5,4,4,5,5,5,5}
Output: 82
Case#4 (Same course as test case #3)
{MaxDistance->180,SliceAngle->5,HoleDistances->{147,497,110,528,409,118,196,154,134,514,374,491,131,138,523,478,481,494},GreenDiameters->{32,16,36,25,32,20,30,30,33,29,25,26,26,25,33,28,21,28}}
Scores:
{3,6,3,6,5,4,4,3,3,5,5,5,3,3,5,5,6,5}
Output: 79
Case#5 (Hacker)
{MaxDistance->320,SliceAngle->30,HoleDistances->{147,497,110,528,409,118,196,154,134,514,374,491,131,138,523,478,481,494},GreenDiameters->{32,16,36,25,32,20,30,30,33,29,25,26,26,25,33,28,21,28}}
Scores:
{6,8,5,8,7,6,6,6,6,8,8,8,6,6,8,8,8,8}
Output: 126
กฎระเบียบ
- สามารถใช้รูปแบบใดก็ได้สำหรับอินพุต เอาท์พุทเป็นเพียงจำนวนของการจำลองสถานการณ์ดังนั้นควรเป็นจำนวนเต็ม
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานใช้
MaxDistance
หลุม
GreenDiameter/2
ในกรณีที่ใช่เนื่องจากคะแนนถูกปกคลุมที่ 8 และมี 2 พัตเสมอ