Delik yardaları, yeşil boyutlar, dilim açısı ve maksimum mesafe listesi verildiğinde, bir golf skoru hesaplayın .
Varsayımlar
- Dünya düz
- Tüm yeşillikler daireseldir
- Dilim açısı -45 ila 45 derece arasında olacak ve derece olarak verilecektir
- Aynı metrikteki tüm mesafeler (yarda veya metre, önemli değil)
- Sınırların, engellerin veya kenarlıkların olmaması
- Herhangi bir delikteki maksimum puan 8'dir
- Tüm çekimler, deliğe açı artı dilim açısı ile tanımlanan bir yönde deliğe olan maksimum mesafe veya delikten daha az mesafe kat eder.
- Mesafe, başlangıç ve bitiş noktası arasındaki düz çizgi veya Öklid mesafesi olarak ölçülür.
- Maksimum mesafe ve dilim açısı tüm deliklerdeki tüm çekimler için aynıdır
- Golfçü her zaman bir kez yeşile (veya tam olarak yeşilin kenarına) iki kez koyar.
Misal
Hacker'a, # 2 deliği için aşağıdaki # 5 numaralı test durumundan bakalım. Hacker topa 320 metre vurabilir, ancak her zaman 30 derece dilimlenir. Genelliği kaybetmeden, tee kutusunun {0,0} ve yeşilin {497,0} olduğunu varsayarsak, 7. atışla yeşile gelen aşağıdaki noktalara vurur:
{{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}}
Bu noktada, gereken iki puttan dolayı puanı 9 olur, bu nedenle varsayımlara göre onun için son puan 8'de sınırlanır.
Grafiksel olarak şöyle görünecektir:

Test Durumları
Tüm test vakalarında standart 18 delikli kurslar vardır
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
kurallar
- Giriş için herhangi bir format kullanılabilir. Çıktı sadece simüle edilen vuruş sayısıdır, bu nedenle bir tamsayı olmalıdır.
- Bu kod golf yani bayt en kısa cevap kazanır. Standart boşluklar geçerlidir.
MaxDistancedeliğin içine sokmanın asla 6 vuruştan fazla sürmeyeceğini varsayabilir miyiz ?
GreenDiameter/2, bu durumda evet, puan 8 ile sınırlıdır ve her zaman 2 macun vardır.
