홀 야드 수, 녹색 크기, 슬라이스 각도 및 최대 거리 목록이 주어지면 골프 점수를 계산하십시오 .
가정
- 지구는 평평하다
- 모든 녹색은 원형입니다
- 슬라이스 각도는 -45 ~ 45도 사이이며 각도로 표시됩니다
- 동일한 측정 항목의 모든 거리 (야드 또는 미터, 중요하지 않음)
- 경계, 장애물 또는 도그 레그 없음
- 모든 홀에서 최대 점수는 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
규칙
- 모든 형식을 입력에 사용할 수 있습니다. 출력은 단순히 시뮬레이션 된 스트로크의 수이므로 정수 여야합니다.
- 이것은 코드 골프 이므로 바이트 단위의 최단 답변이 이깁니다. 표준 허점이 적용됩니다.
MaxDistance
홀 내로 공을 가져 오는 데 6 번을 넘지 않는다고 가정 할 수 있습니까 ?
GreenDiameter/2
8을 기록하고 항상 2 개의 퍼팅이 있기 때문에 그렇습니다.