In einer vorgegebenen Liste von Loch yardages, grün Größen, ein Stück Winkel und einem maximalen Abstand, berechnet ein Golf - Score.
Annahmen
- Die Erde ist flach
- Alle Grüns sind kreisförmig
- Der Schnittwinkel liegt zwischen -45 und 45 Grad und wird in Grad angegeben
- Alle Entfernungen in derselben Metrik (Yards oder Meter, egal)
- Nicht außerhalb der Grenzen, Hindernisse oder Doglegs
- Die maximale Punktzahl für ein Loch beträgt 8
- Alle Schläge bewegen sich in einer Richtung, die durch den Winkel zum Loch plus den Schnittwinkel definiert ist, um die geringere maximale Distanz oder Distanz zum Loch.
- Die Entfernung wird als gerade Linie oder euklidische Entfernung zwischen Start- und Endpunkt gemessen.
- Der maximale Abstand und der Schnittwinkel sind für alle Schläge auf alle Löcher gleich
- Der Golfer hat immer zwei Putts einmal auf dem Grün (oder genau am Rand des Grüns).
Beispiel
Schauen wir uns den Hacker aus dem Testfall Nr. 5 für Loch Nr. 2 an. Der Hacker kann den Ball 320 Yards schlagen, schneidet aber immer 30 Grad. Wenn wir ohne Einschränkung der Allgemeinheit davon ausgehen, dass sich der Abschlag bei {0,0} und das Grün bei {497,0} befindet, wird er die folgenden Punkte treffen und mit dem 7. Schuss auf dem Grün eintreffen:
{{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}}
Zu diesem Zeitpunkt wäre seine Punktzahl aufgrund der zwei erforderlichen Putts 9, sodass die endgültige Punktzahl für ihn gemäß den Annahmen auf 8 begrenzt wird.
Testfälle
Alle Testfälle haben Standard-18-Loch-Plätze
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
Regeln
- Für die Eingabe kann ein beliebiges Format verwendet werden. Die Ausgabe ist einfach die Anzahl der simulierten Striche, sollte also eine ganze Zahl sein.
- Das ist Code-Golf, also gewinnt die kürzeste Antwort in Bytes. Es gelten Standardlücken.
MaxDistancedas Loch zu bekommen?
GreenDiameter/2, in diesem Fall ja, da die Punktzahl auf 8 begrenzt ist und es immer 2 Putts gibt.

